pip fails to install packages from requirements.txt

后端 未结 2 1285
感动是毒
感动是毒 2020-12-01 16:10

I am trying to install a python software using the requirements file.

>> cat requirements.txt
Cython==0.15.1
numpy==1.6.1
distribute==0.6.24
logilab-as         


        
相关标签:
2条回答
  • 2020-12-01 16:28

    It looks like the numexpr package has an install-time dependency on numpy. Pip makes two passes through your requirements: first it downloads all packages and runs each one's setup.py to get its metadata, and then it installs them all in a second pass.

    So, numexpr is trying to import from numpy in its setup.py, but when pip first runs numexpr's setup.py, it has not yet installed numpy.

    This is also why you don't see this error when you install the packages one by one: if you install them one at a time, numpy will be fully installed in your environment before you pip install numexpr.

    The only solution is to install pip install numpy before you ever run pip install -r requirements.txt -- you won't be able to do this in a single command with a single requirements.txt file.

    More info here: https://github.com/pypa/pip/issues/25

    0 讨论(0)
  • 2020-12-01 16:47

    I come across with a similar issue and I ended up with the below:

    cat requirements.txt | sed -e '/^\s*#.*$/d' -e '/^\s*$/d' | xargs -n 1 python -m pip install
    

    That will read line by line the requirements.txt and execute pip. I cannot find from where I got the answer properly, so apologies for that, but I found some justification below:

    1. How sed works: https://howto.lintel.in/truncate-empty-lines-using-sed/
    2. Another similar answer but with git: https://stackoverflow.com/a/46494462/7127519

    Hope this help with alternatives.

    0 讨论(0)
提交回复
热议问题