Skip to content

安装问题 #781

@hyShen-hzau

Description

@hyShen-hzau

您好,我游览了您发表在iMate上的文章,并且非常感兴趣想要学习jcvi。但是在安装的途中重复出现这样的错误,希望能得到您的帮助。
(base) [newshy@zhaolabserver jcvi]$ conda activate jcvi
(jcvi) [newshy@zhaolabserver jcvi]$ pip install jcvi
Collecting jcvi
Using cached jcvi-1.5.4.tar.gz (785 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [137 lines of output]
/tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: project.license as a TOML table is deprecated
!!

          ********************************************************************************
          Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).

          By 2026-Feb-18, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    corresp(dist, value, root_dir)
  running build_ext
  Compiling src/jcvi/assembly/chic.pyx because it changed.
  [1/1] Cythonizing src/jcvi/assembly/chic.pyx
  building 'jcvi.assembly.chic' extension
  creating build/temp.linux-x86_64-cpython-312/src/jcvi/assembly
  gcc -pthread -B /data_SSD/home/newshy/miniconda3/envs/jcvi/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /data_SSD/home/newshy/miniconda3/envs/jcvi/include -fPIC -O2 -isystem /data_SSD/home/newshy/miniconda3/envs/jcvi/include -fPIC -I/tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/numpy/_core/include -I/data_SSD/home/newshy/miniconda3/envs/jcvi/include/python3.12 -c src/jcvi/assembly/chic.c -o build/temp.linux-x86_64-cpython-312/src/jcvi/assembly/chic.o -O3
  In file included from /tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1913:0,
                   from /tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
                   from /tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                   from src/jcvi/assembly/chic.c:1140:
  /tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   #warning "Using deprecated NumPy API, disable it with " \
    ^
  src/jcvi/assembly/chic.c: In function ‘__pyx_pw_4jcvi_8assembly_4chic_1score_evaluate_M’:
  src/jcvi/assembly/chic.c:6086:7: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
         ^
  src/jcvi/assembly/chic.c:6086:7: note: use option -std=c99 or -std=gnu99 to compile your code
  src/jcvi/assembly/chic.c:6134:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:6158:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6134:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6158:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:6163:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6158:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6163:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c: In function ‘__pyx_pw_4jcvi_8assembly_4chic_3score_evaluate_P’:
  src/jcvi/assembly/chic.c:6645:7: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
         ^
  src/jcvi/assembly/chic.c:6693:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:6717:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6693:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6717:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:6722:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6717:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:6722:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c: In function ‘__pyx_pw_4jcvi_8assembly_4chic_5score_evaluate_Q’:
  src/jcvi/assembly/chic.c:7228:7: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
         ^
  src/jcvi/assembly/chic.c:7276:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:7300:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:7276:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:7300:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c:7305:19: error: redefinition of ‘__pyx_temp’
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:7300:19: note: previous definition of ‘__pyx_temp’ was here
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
                     ^
  src/jcvi/assembly/chic.c:7305:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
     ^
  src/jcvi/assembly/chic.c: In function ‘__Pyx_ParseKeywordsTuple’:
  src/jcvi/assembly/chic.c:10029:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
       for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) {
       ^
  In file included from src/jcvi/assembly/chic.c:12731:0:
  /data_SSD/home/newshy/miniconda3/envs/jcvi/include/python3.12/internal/pycore_frame.h: In function ‘_PyFrame_Initialize’:
  /data_SSD/home/newshy/miniconda3/envs/jcvi/include/python3.12/internal/pycore_frame.h:132:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
       for (int i = null_locals_from; i < code->co_nlocalsplus; i++) {
       ^
  src/jcvi/assembly/chic.c: In function ‘__Pyx_PyCode_New’:
  src/jcvi/assembly/chic.c:14283:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
       for (Py_ssize_t i=0; i < var_count; i++) {
       ^
  error: command '/usr/bin/gcc' failed with exit code 1
  Using custom wheel tag: cp312-cp312-linux_x86_64
  Traceback (most recent call last):
    File "/data_SSD/home/newshy/miniconda3/envs/jcvi/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
      main()
    File "/data_SSD/home/newshy/miniconda3/envs/jcvi/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
      json_out["return_val"] = hook(**hook_input["kwargs"])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/data_SSD/home/newshy/miniconda3/envs/jcvi/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 178, in prepare_metadata_for_build_wheel
      whl_basename = backend.build_wheel(metadata_directory, config_settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/hatchling/build.py", line 58, in build_wheel
      return os.path.basename(next(builder.build(directory=wheel_directory, versions=['standard'])))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-b0q4sasw/overlay/lib/python3.12/site-packages/hatchling/builders/plugin/interface.py", line 147, in build
      build_hook.initialize(version, build_data)
    File "/tmp/pip-install-64v_p0x8/jcvi_a7a4f88b500649a0925fa29f816eb924/build.py", line 13, in initialize
      subprocess.check_call(["python", "setup.py", "build_ext", "--inplace"])
    File "/data_SSD/home/newshy/miniconda3/envs/jcvi/lib/python3.12/subprocess.py", line 413, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['python', 'setup.py', 'build_ext', '--inplace']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions