labsyspharm / scimap

Spatial Single-Cell Analysis Toolkit
https://scimap.xyz/
MIT License
71 stars 24 forks source link

scimap installation got error #64

Open bugie19 opened 1 year ago

bugie19 commented 1 year ago

Hallo Everyone,

I have tried to install scimap (python version=3.8) in window (window 10 pro), the installation process it seems ok until "pytest", however it was failed at step "combat". The source of error due to "metadata-generation-failed". Anyone have faced this problem? how to fix it?

This is the output of installation:

scimap istall_error_figure_1 scimap istall_error_figure_2 scimap istall_error_figure_3 scimap istall_error_figure_4

For your help, I really appreciate in advance.

Best regards,

Bugie

liuyangzzu commented 5 months ago

Hi, I faced the same issue when install scimap, below is error message:

Collecting pyqt6<7.0.0,>=6.6.1 (from scimap)
  Using cached PyQt6-6.6.1.tar.gz (1.0 MB)
  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
  ╰─> [23 lines of output]
      pyproject.toml: line 7: using '[tool.sip.metadata]' to specify the project metadata is deprecated and will be removed in SIP v7.0.0, use '[project]' instead
      Traceback (most recent call last):
        File "/projects/li-lab/yang/anaconda3/envs/scimap/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/projects/li-lab/yang/anaconda3/envs/scimap/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/projects/li-lab/yang/anaconda3/envs/scimap/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/sipbuild/api.py", line 46, in build_wheel
          project = AbstractProject.bootstrap('wheel',
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/sipbuild/abstract_project.py", line 92, in bootstrap
          project.setup(pyproject, tool, tool_description)
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 587, in setup
          self.apply_user_defaults(tool)
        File "/flashscratch/liuya/tmp/pip-install-gidwayh5/pyqt6_e94fb4d43c32408a8992672cb6130da6/project.py", line 66, in apply_user_defaults
          super().apply_user_defaults(tool)
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
          super().apply_user_defaults(tool)
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 237, in apply_user_defaults
          self.builder.apply_user_defaults(tool)
        File "/flashscratch/liuya/tmp/pip-build-env-bjk09bpt/overlay/lib/python3.10/site-packages/pyqtbuild/builder.py", line 69, in apply_user_defaults
          raise PyProjectOptionException('qmake',
      sipbuild.pyproject.PyProjectOptionException
      [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.
ajitjohnson commented 5 months ago

@liuyangzzu did you install scimap in a new conda environment? Also what computer platform are you using? thank you.

liuyangzzu commented 5 months ago

Hi,

I am using Linux OS. I am using exactly you provided new conda environment, as below:

conda create --name scimap python=3.10
conda activate scimap

pip install scimap
ajitjohnson commented 5 months ago

Got it. Based on GitHub actions it seems to install fine on ubuntu-latest. - https://github.com/labsyspharm/scimap/actions/runs/8365813694/job/22904562181

what version are you using? Unfortunately, I do not have a Linux system to test.

ajitjohnson commented 5 months ago

is there a different system you could test?

ajitjohnson commented 5 months ago

googling a bit, some people have suggested using python 3.9 seem to have fixed their issue with installing pyqt6

conda create --name scimap_new python=3.9
liuyangzzu commented 5 months ago

I used python 3.9 as you provided above, but still same error when install pyqt6.

ajitjohnson commented 5 months ago

@liuyangzzu try the below: I have updated the code base to separate out scimap from napari

Firstly, we suggest installing scimap and napari together to enable visualization out of the box. Keep in mind, napari needs a GUI toolkit, such as PyQt. If you run into any issues because of your computer's operating system, install scimap and napari separately by following the guidance in napari's documentation.

Here's how you can install both using pip:

pip install scimap[napari]

If you encounter a problem with PyQt6 during the installation, you can install scimap alone first. Later on, if you find you need napari, you can go ahead and install it by itself.

To install just scimap:

pip install scimap
chiwwong commented 4 months ago

May I know do you have a plan to upload a build to conda. (I know probably the best practice is to create a new environment for every package.) I found a hard time installing scimap with other conventional scRNAseq/ spatial packages. Even if I do pip, it still fails (and it reinstalls numpy, llvmlite, tifffile, numba, dask, zarr, and scikit-learn before it crashes for dask-expr).

ajitjohnson commented 4 months ago

@chiwwong which OS are you using?

I can look into how to package it into a Conda build, but I think you will encounter the same issues, as different packages are looking for different versions of the dependencies you have listed.

chiwwong commented 4 months ago

@ajitjohnson I really appreciate your prompt reply. I use both M2 Mac and Linux (Red Hat Enterprise Linux 8.7 (Ootpa); Kernel: Linux 4.18.0-425.3.1.el8.x86_64).

I do understand that eventually the package/ dependency could crash. But it is still a good idea to know that in advance as conda will not allow proceeding if it is unable to solve the dependency. My situation is that the installation of scimap was terminated in the middle of the installation, and some of the previously conda-installed packages were replaced with pip.

(I am also naive to pip/ conda/ package management, but I wonder if it is also possible to undo the "reinstallation" of packages. I think this behavior should have an option to stop it happen given it is just uninstall and reinstall the same package with the same version, from conda to pip).

Thanks!