Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflicting dependencies when installing via pip (Cartopy) #87

Open
mcucchi9 opened this issue Mar 23, 2022 · 4 comments
Open

Conflicting dependencies when installing via pip (Cartopy) #87

mcucchi9 opened this issue Mar 23, 2022 · 4 comments

Comments

@mcucchi9
Copy link

mcucchi9 commented Mar 23, 2022

Hi,

I'm trying to install xmovie via pip but I keep getting errors related to conflicting dependencies.

I tried both in a conda and in a venv environment, obtaining similar errors.

OS: Ubuntu 20.04.4 LTS

Edit

It looks like the issue is related to cartopy installation (see SciTools/cartopy#1970, SciTools/cartopy#1967, SciTools/cartopy#1879).

conda environment

Steps to replicate

conda create -n xmovie python=3.9
conda activate xmovie
pip install xmovie

Output

Collecting xmovie
  Downloading xmovie-0.3.1-py3-none-any.whl (16 kB)
Collecting cartopy
  Downloading Cartopy-0.20.2.tar.gz (10.8 MB)
     |████████████████████████████████| 10.8 MB 2.8 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpyh7ycr95
       cwd: /tmp/pip-install-jftzwlvn/cartopy_022883b606944a7cb80fd22f18a95899
  Complete output (1 lines):
  Proj 8.0.0 must be installed in Conda environment "xmovie".
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/f6/55/1e1c737dc9436b320deead73d1c455ddbb74b8b6992081863492f6f6378a/Cartopy-0.20.2.tar.gz#sha256=4d08c198ecaa50a6a6b109d0f14c070e813defc046a83ac5d7ab494f85599e35 (from https://pypi.org/simple/cartopy/) (requires-python:>=3.7). Command errored out with exit status 1: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpyh7ycr95 Check the logs for full command output.
  Downloading Cartopy-0.20.1.tar.gz (10.8 MB)
     |████████████████████████████████| 10.8 MB 5.2 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpg5i65otv
       cwd: /tmp/pip-install-jftzwlvn/cartopy_0b710d11d63c42deb15d26cc3d5baa9d
  Complete output (1 lines):
  Proj 8.0.0 must be installed in Conda environment "xmovie".
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/fc/59/aa52698e3838f4cd0e7eaa75bd86837e9e0b05041dbdaee3cda2fffced06/Cartopy-0.20.1.tar.gz#sha256=91f87b130e2574547a20cd634498df97d797abd12dcfd0235bc0cdbcec8b05e3 (from https://pypi.org/simple/cartopy/) (requires-python:>=3.7). Command errored out with exit status 1: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpg5i65otv Check the logs for full command output.
  Downloading Cartopy-0.20.0.tar.gz (10.8 MB)
     |████████████████████████████████| 10.8 MB 3.9 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpr7vq8hbj
       cwd: /tmp/pip-install-jftzwlvn/cartopy_ecf5ec1eb01f4e31be2d208e195b4229
  Complete output (1 lines):
  Proj 8.0.0 must be installed in Conda environment "xmovie".
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/0f/c0/58453b036e79046d211f083880d58dcce787e7e07647ac25dc46c6555099/Cartopy-0.20.0.tar.gz#sha256=eae58aff26806e63cf115b2bce9477cedc4aa9f578c5e477b2c25cfa404f2b7a (from https://pypi.org/simple/cartopy/) (requires-python:>=3.7). Command errored out with exit status 1: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpr7vq8hbj Check the logs for full command output.
  Downloading Cartopy-0.19.0.post1.tar.gz (12.1 MB)
     |████████████████████████████████| 12.1 MB 5.1 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmppih05w_1
       cwd: /tmp/pip-install-jftzwlvn/cartopy_ed2db7cd006a4391ac0e7b943a09e9e0
  Complete output (1 lines):
  Proj 4.9.0 must be installed in Conda environment "xmovie".
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/ed/ca/524ce33692df3faeaa56852fb6a33b0b410be94cc288417565b96fef3f64/Cartopy-0.19.0.post1.tar.gz#sha256=4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576 (from https://pypi.org/simple/cartopy/) (requires-python:>=3.5). Command errored out with exit status 1: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmppih05w_1 Check the logs for full command output.
  Downloading Cartopy-0.18.0.tar.gz (14.4 MB)
     |████████████████████████████████| 14.4 MB 6.1 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_b36d305f069f46bd81a348e776213f2d/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_b36d305f069f46bd81a348e776213f2d/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-h561j9wc
         cwd: /tmp/pip-install-jftzwlvn/cartopy_b36d305f069f46bd81a348e776213f2d/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_b36d305f069f46bd81a348e776213f2d/setup.py", line 43, in <module>
        import numpy as np
    ModuleNotFoundError: No module named 'numpy'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_b36d305f069f46bd81a348e776213f2d/setup.py", line 45, in <module>
        raise ImportError('NumPy 1.10+ is required to install cartopy.')
    ImportError: NumPy 1.10+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/46/c1/04e50c9986842f00f7db0e7a65caa896840050d7328f74e5b7437aa01179/Cartopy-0.18.0.tar.gz#sha256=7ffa317e8f8011e0d965a3ef1179e57a049f77019867ed677d49dcc5c0744434 (from https://pypi.org/simple/cartopy/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.17.0.tar.gz (8.9 MB)
     |████████████████████████████████| 8.9 MB 11.7 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpfmorpaar
       cwd: /tmp/pip-install-jftzwlvn/cartopy_7af50acaf90c4d25a60ab63417d02bf1
  Complete output (1 lines):
  Proj 4.9.0 must be installed in Conda environment "xmovie".
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/e5/92/fe8838fa8158931906dfc4f16c5c1436b3dd2daf83592645b179581403ad/Cartopy-0.17.0.tar.gz#sha256=424bd9e9ddef6e48cbdee694ce589ec431be8591f15b6cb93cb2b333a29b2c61 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: /home/marco/miniconda3/envs/xmovie/bin/python /home/marco/miniconda3/envs/xmovie/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpfmorpaar Check the logs for full command output.
  Downloading Cartopy-0.16.0.tar.gz (8.8 MB)
     |████████████████████████████████| 8.8 MB 10.7 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_fb1682f06dfb42ad91604638d2fd8886/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_fb1682f06dfb42ad91604638d2fd8886/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-waynz20x
         cwd: /tmp/pip-install-jftzwlvn/cartopy_fb1682f06dfb42ad91604638d2fd8886/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_fb1682f06dfb42ad91604638d2fd8886/setup.py", line 47, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_fb1682f06dfb42ad91604638d2fd8886/setup.py", line 49, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/f5/7a/4a16db7c81f11b3c5889c5b913d9a5724c704a6947c5a87ec59c4a8985ac/Cartopy-0.16.0.tar.gz#sha256=f23dffa101f43dd91e866a49ebb5f5048be2a24ab8a921a5c07edabde746d9a4 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.15.1.tar.gz (8.2 MB)
     |████████████████████████████████| 8.2 MB 7.6 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_4c0d4be2c72c4e3090c2604b5e964812/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_4c0d4be2c72c4e3090c2604b5e964812/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-jjt783du
         cwd: /tmp/pip-install-jftzwlvn/cartopy_4c0d4be2c72c4e3090c2604b5e964812/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_4c0d4be2c72c4e3090c2604b5e964812/setup.py", line 45, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_4c0d4be2c72c4e3090c2604b5e964812/setup.py", line 47, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/ee/6c/992e03af5a93c1b81d644a3fa0b0c43c4f8ccc9bc69837de46490f8dc3da/Cartopy-0.15.1.tar.gz#sha256=bb8a084055c38bc895b2fe094262753813e6fc7221ef2c1fc87ec1ff302f3c09 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.14.2.tar.gz (8.4 MB)
     |████████████████████████████████| 8.4 MB 12.1 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_4211bd1b0e064bdea691e980da2d16d2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_4211bd1b0e064bdea691e980da2d16d2/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-9dqjl8b2
         cwd: /tmp/pip-install-jftzwlvn/cartopy_4211bd1b0e064bdea691e980da2d16d2/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_4211bd1b0e064bdea691e980da2d16d2/setup.py", line 45, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_4211bd1b0e064bdea691e980da2d16d2/setup.py", line 47, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/00/30/be768605774919e7571b72520b332f61fd307490923283292836872cb7a1/Cartopy-0.14.2.tar.gz#sha256=a7059587b91989ac42649f3d02aefbb4d3fd53ebb10ada34c007235820a000e7 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.14.0.tar.gz (8.4 MB)
     |████████████████████████████████| 8.4 MB 6.6 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_51d4f62dc5fe435bb4862007fcca4435/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_51d4f62dc5fe435bb4862007fcca4435/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-w4try15u
         cwd: /tmp/pip-install-jftzwlvn/cartopy_51d4f62dc5fe435bb4862007fcca4435/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_51d4f62dc5fe435bb4862007fcca4435/setup.py", line 45, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_51d4f62dc5fe435bb4862007fcca4435/setup.py", line 47, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/ec/31/22528383a32ae03e31cee883173db7a5bcaa9452b0eeb94d6fd2cfa0fbde/Cartopy-0.14.0.tar.gz#sha256=2a3d26cb9c3af237209f9b3a3b0f50920dad9ab5ac4def0c468004c02f725df8 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.13.1.tar.gz (7.7 MB)
     |████████████████████████████████| 7.7 MB 8.9 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_9d8bccf4541a42f88087c9f0403a71ff/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_9d8bccf4541a42f88087c9f0403a71ff/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-5eli2nf7
         cwd: /tmp/pip-install-jftzwlvn/cartopy_9d8bccf4541a42f88087c9f0403a71ff/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_9d8bccf4541a42f88087c9f0403a71ff/setup.py", line 39, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_9d8bccf4541a42f88087c9f0403a71ff/setup.py", line 41, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/57/42/ceb8bc7120998fcbeab9563f947ec3f334a0585afda6273a60e94e8d0792/Cartopy-0.13.1.tar.gz#sha256=779a75cd4a5553489cd71e4506685247d6ac94017a7979a50d09306b43e8d7ff (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.13.0.tar.gz (7.7 MB)
     |████████████████████████████████| 7.7 MB 11.8 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_d5983b2bad8046aa8d3617b83221161c/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_d5983b2bad8046aa8d3617b83221161c/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-av96o8ip
         cwd: /tmp/pip-install-jftzwlvn/cartopy_d5983b2bad8046aa8d3617b83221161c/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_d5983b2bad8046aa8d3617b83221161c/setup.py", line 36, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_d5983b2bad8046aa8d3617b83221161c/setup.py", line 38, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/32/81/8da9f2307971b5ae0c2e32763267814a91dcb3f0762432befcf37df7d16d/Cartopy-0.13.0.tar.gz#sha256=e8301460c5b5f9e57fa8de91772cfdf0360a04bbcd77ab102c3e678ad81a5474 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.12.0.5.tar.gz (7.7 MB)
     |████████████████████████████████| 7.7 MB 13.5 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_815cc4fbab3d41abb009db8a22798fa5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_815cc4fbab3d41abb009db8a22798fa5/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-2y0obu65
         cwd: /tmp/pip-install-jftzwlvn/cartopy_815cc4fbab3d41abb009db8a22798fa5/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_815cc4fbab3d41abb009db8a22798fa5/setup.py", line 36, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_815cc4fbab3d41abb009db8a22798fa5/setup.py", line 38, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/9a/b1/9723f24ddc542b14c86e233a93fdc2c1cf424c57b526160eeb45f454edc4/Cartopy-0.12.0.5.tar.gz#sha256=2c19a14f788fda4b6648995de3b38e02fc4fe46ee0156d01ddacfb32594a980c (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading Cartopy-0.12.0.4.tar.gz (7.7 MB)
     |████████████████████████████████| 7.7 MB 11.0 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_c8190abac5a147418fb338fc32ffd67f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_c8190abac5a147418fb338fc32ffd67f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-xsrbg16a
         cwd: /tmp/pip-install-jftzwlvn/cartopy_c8190abac5a147418fb338fc32ffd67f/
    Complete output (12 lines):
    Traceback (most recent call last):
      File "/tmp/pip-install-jftzwlvn/cartopy_c8190abac5a147418fb338fc32ffd67f/setup.py", line 36, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_c8190abac5a147418fb338fc32ffd67f/setup.py", line 38, in <module>
        raise ImportError('Cython 0.15.1+ is required to install cartopy.')
    ImportError: Cython 0.15.1+ is required to install cartopy.
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/6c/fa/e4c45bd9c78e43f78d30b8d5e6fb884c045b017af51499f0b919ed8ce72c/Cartopy-0.12.0.4.tar.gz#sha256=f2796874bd1d8abf6b65324acd38f15f731a4ad1b0e9a806bf14036c946c4c87 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading cartopy-0.11.0.tar.gz (7.7 MB)
     |████████████████████████████████| 7.7 MB 15.4 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /home/marco/miniconda3/envs/xmovie/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jftzwlvn/cartopy_61ca025ae33f46699d872c91a9a1d639/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jftzwlvn/cartopy_61ca025ae33f46699d872c91a9a1d639/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-otavnb_v
         cwd: /tmp/pip-install-jftzwlvn/cartopy_61ca025ae33f46699d872c91a9a1d639/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-jftzwlvn/cartopy_61ca025ae33f46699d872c91a9a1d639/setup.py", line 31, in <module>
        from Cython.Distutils import build_ext
    ModuleNotFoundError: No module named 'Cython'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/1b/8e/ee4545577e897d0e45ee136513a28688abcb0dc4f26f9132177ec627c7ce/cartopy-0.11.0.tar.gz#sha256=85eb55d6ce16be5f7e745fcc2870b3fa7450db3a77899daade8b18711532be45 (from https://pypi.org/simple/cartopy/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Collecting xmovie
  Downloading xmovie-0.3.0-py3-none-any.whl (16 kB)
  Downloading xmovie-0.2.2-py3-none-any.whl (15 kB)
  Downloading xmovie-0.1.0-py3-none-any.whl (10 kB)
ERROR: Cannot install xmovie==0.1.0, xmovie==0.2.2, xmovie==0.3.0 and xmovie==0.3.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    xmovie 0.3.1 depends on cartopy
    xmovie 0.3.0 depends on cartopy
    xmovie 0.2.2 depends on cartopy
    xmovie 0.1.0 depends on cartopy

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

venv environment

Steps to replicate

python3 -m venv venv
source venv/bin/activate
pip install xmovie

Output

Collecting xmovie
  Downloading xmovie-0.3.1-py3-none-any.whl (16 kB)
Collecting cartopy
  Downloading Cartopy-0.20.2.tar.gz (10.8 MB)
     |████████████████████████████████| 10.8 MB 2.8 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/marco/devel/xmovie/venv/bin/python3 /tmp/tmpi_7i_f9w get_requires_for_build_wheel /tmp/tmp_evocsxc
       cwd: /tmp/pip-install-g5htevtl/cartopy
  Complete output (1 lines):
  Proj version 6.3.1 is installed, but cartopy requires at least version 8.0.0.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /home/marco/devel/xmovie/venv/bin/python3 /tmp/tmpi_7i_f9w get_requires_for_build_wheel /tmp/tmp_evocsxc Check the logs for full command output.
@mcucchi9 mcucchi9 changed the title Conflicting dependencies when installing via pip Conflicting dependencies when installing via pip (Cartopy) Mar 23, 2022
@mcucchi9
Copy link
Author

Fix

conda environment

Install proj from conda-forge prior installing xmovie:

conda create -n xmovie python=3.9
conda activate xmovie
conda install -c conda-forge proj
pip install xmovie

venv environment

Install version cartopy==0.19.0.post1 before installing xmovie (see SciTools/iris#4468 (comment))

python3 -m venv venv
source venv/bin/activate
pip install cartopy==0.19.0.post1
pip install xmovie

@jbusecke
Copy link
Owner

Thanks for reporting this problem @mcucchi9. This is certainly frustrating.
Does a conda only install e.g. conda create -n xmovie python=3.9 xmovie work for you? I have had some issues with cartopy dependencies via pip in other contexts lately.
I am however not quite sure how to fix this. If the above works, I could add appropriate warnings to the readme/docs, but it would be nice to find a more elegant solution for this.

@mcucchi9
Copy link
Author

mcucchi9 commented Mar 24, 2022

Hi @jbusecke. Yes, a pure conda installation works fine, even when cartopy=0.20 is installed (which looks like being the source of the reported issue with pip). The following command correctly installs xmovie with cartopy=0.20.2 and proj=9.0.0:

conda create --override-channels -c anaconda -c conda-forge -n xmovie python=3.9 xmovie

@ashwinvis
Copy link

Would it be possible to make cartopy as an optional dependency?

Context: We use xarray in the library pymech and snek5000 and we would like to try out xmovie (snek5000/snek5000#118). We do not foresee the use of cartopy in those packages and IIRC, it can be notoriously difficult to install without conda.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants