aristoteleo / spateo-release

Spatiotemporal modeling of spatial transcriptomics
https://spateo-release.readthedocs.io/
BSD 2-Clause "Simplified" License
170 stars 26 forks source link

pip下载安装的时候显示错误 #256

Open Yifan-debug opened 2 months ago

Yifan-debug commented 2 months ago

Hi, I I tried with pip install and got this error.

cl : Command line error D8021 : invalid numeric argument '/Wno-unused-variable'

Thank you

Sichao25 commented 2 months ago

Would you mind sharing some environment information, like which version of pip you're using? There might be a compatibility issue with the pip>=24.1, and I'm wondering if it could be related to the problem you're experiencing.

Yifan-debug commented 2 months ago

The pip version is pip 24.0 The problem mentioned failed building wheel for louvain. "ERROR: Could not build wheels for louvain, which is required to install pyproject.toml-based projects"

Thanks

Sichao25 commented 2 months ago

The most straightforward solution is to install louvain before installing Spateo. However, louvain can be difficult to install since it is no longer maintained. We have recently removed louvain from our dependencies. Would you mind trying the latest version of Spateo directly from GitHub instead?

Yifan-debug commented 2 months ago

Sure, I would love to try this. Thank you

gianmore commented 2 months ago

Hi, I had the same issue. I reinstalled it with pip install git+https://github.com/aristoteleo/spateo-release but I still get an error. I also tried ti installed it it with pip install --use-pep517 git+https://github.com/aristoteleo/spateo-release but I get the following error. Any suggestion on how to fix it? Thanks. I don't understand why it tries to install Louvain if you have removed it from the last release in github.

`Building wheels for collected packages: spateo-release, louvain Building wheel for spateo-release (pyproject.toml) ... done Created wheel for spateo-release: filename=spateo_release-1.1.0-py3-none-any.whl size=655006 sha256=3ed1017e18fd45c00896dac07e8e1e1e3e7cbc6517261c1da8b224e0ee3c75f2 Stored in directory: /igatech/workspace/tmp/pip-ephem-wheel-cache-3ik76xoe/wheels/ce/67/76/a3755e16b29965cdefc14a2943d32d8f37dd6b1a9be4ef7637 Building wheel for louvain (pyproject.toml) ... error error: subprocess-exited-with-error

× Building wheel for louvain (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [143 lines of output] /igatech/workspace/tmp/pip-build-env-gbeu54cg/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' Traceback (most recent call last): File "/igatech/workspace/tmp/pip-build-env-gbeu54cg/normal/lib/python3.12/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject section = defn.get("tool", {})[tool_name]


      KeyError: 'setuptools_scm'
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-312
      creating build/lib.linux-x86_64-cpython-312/louvain
      copying src/louvain/__init__.py -> build/lib.linux-x86_64-cpython-312/louvain
      copying src/louvain/functions.py -> build/lib.linux-x86_64-cpython-312/louvain
      copying src/louvain/version.py -> build/lib.linux-x86_64-cpython-312/louvain
      copying src/louvain/Optimiser.py -> build/lib.linux-x86_64-cpython-312/louvain
      copying src/louvain/VertexPartition.py -> build/lib.linux-x86_64-cpython-312/louvain
      running build_ext
      running build_c_core
      -- Setting build type to 'Release' as none was specified.
      -- Version number: 0.10.2
      -- The C compiler identification is GNU 14.1.0
      -- The CXX compiler identification is GNU 14.1.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /igatech/rd/dev/mambaforge/envs/fast/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /igatech/rd/dev/mambaforge/envs/fast/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG
      -- Performing Test COMPILER_SUPPORTS_UNKNOWN_WARNING_OPTION_FLAG - Failed
      -- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR
      -- Performing Test COMPILER_HAS_DEPRECATED_ENUMVAL_ATTR - Success
      -- Thread-local storage: supported (__thread)
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
      -- Looking for pthread_create in pthreads
      -- Looking for pthread_create in pthreads - not found
      -- Looking for pthread_create in pthread
      -- Looking for pthread_create in pthread - found
      -- Found Threads: TRUE
      -- Found FLEX: /igatech/rd/dev/mambaforge/envs/fast/bin/flex (found version "2.6.4")
      -- Found BISON: /igatech/rd/dev/mambaforge/envs/fast/bin/bison (found version "3.8.2")
      -- Looking for strcasecmp
      -- Looking for strcasecmp - found
      -- Looking for strncasecmp
      -- Looking for strncasecmp - found
      -- Looking for _stricmp
      -- Looking for _stricmp - not found
      -- Looking for _strnicmp
      -- Looking for _strnicmp - not found
      -- Looking for strdup
      -- Looking for strdup - found
      -- Looking for strndup
      -- Looking for strndup - found
      -- Looking for include file xlocale.h
      -- Looking for include file xlocale.h - found
      -- Looking for uselocale
      -- Looking for uselocale - found
      -- Looking for _configthreadlocale
      -- Looking for _configthreadlocale - not found
      -- Performing Test HAVE__UMUL128
      -- Performing Test HAVE__UMUL128 - Failed
      -- Performing Test HAVE___UMULH
      -- Performing Test HAVE___UMULH - Failed
      -- Looking for C++ include sys/types.h
      -- Looking for C++ include sys/types.h - found
      -- Looking for C++ include stdint.h
      -- Looking for C++ include stdint.h - found
      -- Looking for C++ include stddef.h
      -- Looking for C++ include stddef.h - found
      -- Check size of __uint128_t
      -- Check size of __uint128_t - done
      -- Performing Test HAVE_BUILTIN_OVERFLOW
      -- Performing Test HAVE_BUILTIN_OVERFLOW - Success
      -- Looking for _LIBCPP_VERSION
      -- Looking for _LIBCPP_VERSION - not found
      -- Looking for __GLIBCXX__
      -- Looking for __GLIBCXX__ - found
      -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
      -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
      -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
      -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
      -- Performing Test COMPILER_HAS_DEPRECATED_ATTR
      -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
      CMake Error at CMakeLists.txt:159 (add_subdirectory):
        add_subdirectory given source "interfaces" which is not an existing
        directory.

      -- Found Python3: /igatech/rd/dev/mambaforge/envs/fast/bin/python3.12 (found version "3.12.5") found components: Interpreter
      --
      -- -----[ Build configuration ]----
      -- Version:                  0.10.2
      -- CMake build type:        Release
      -- Library type:             static
      -- igraph_integer_t size:   64 bits
      --
      -- ----------[ Features ]----------
      -- GLPK for optimization:       yes
      -- Reading GraphML files:       yes
      -- Thread-local storage:        yes
      -- Link-time optimization:       no
      --
      -- --------[ Dependencies ]--------
      -- ARPACK:                 vendored
      -- BISON:                       yes
      -- BLAS:                   vendored
      -- FLEX:                        yes
      -- GLPK:                   vendored
      -- GMP:                    vendored
      -- LAPACK:                 vendored
      -- LibXml2:                     yes
      -- OpenMP:                      yes
      -- PLFIT:                  vendored
      --
      -- -----------[ Testing ]----------
      -- Diff tool:             not found
      -- Sanitizers:                 none
      -- Code coverage:                no
      -- Verify 'finally' stack:       no
      --
      -- --------[ Documentation ]-------
      -- HTML:                         no
      -- PDF:                          no
      --
      -- igraph configured successfully.
      --
      -- Configuring incomplete, errors occurred!
      We are going to build the C core of igraph.
        Source folder: vendor/source/igraph
        Build folder: vendor/build/igraph
        Install folder: vendor/install/igraph

      Configuring build...
      Build failed for the C core of igraph.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for louvain
Successfully built spateo-release
Failed to build louvain
ERROR: Could not build wheels for louvain, which is required to install pyproject.toml-based projects`
Sichao25 commented 2 months ago

I see. The problem is that Dynamo, which is included as a dependency in Spateo, contains louvain. Although we've removed the louvain from both packages, those changes have not yet been released. One workaround is, you can clone the repository and import the Spateo code directly. In this case, you only need to install the latest dependencies using a command like pip install -r requirements.txt. Another option is to try installing louvain, although it can be challenging in certain environments. Alternatively, you can wait for the new version to be released, which is likely to happen this week or next. Apologize for any inconvenience.