python pip trouble installing from requirements.tx

2019-01-21 19:47发布

I've had great luck with pip in the past, but working at installing some stuff in a venv on is giving me some headaches. I keep getting errors like No distributions at all found for somepackage Storing debug log for failure in /root/.pip/pip.log

Could not find any downloads that satisfy the requirement somepackage

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-RjqjFW/psycopg2

I know these packages are installed on the main system, but its like they won't work on the venv. How do you all get around this problem? It's been a long day and I just don't understand what the problem is, especially because they work on my local system, they work on the main python install on my remote system, but not in the venv for some crazy reason. Any ideas?

Here is the requirements, I thought it was alittle intense for django, but thats what pip freeze > requirements.txt gave me

Babel==1.3
Django==1.7.1
Fabric==1.10.1
Flask==0.10.1
Flask-Babel==0.9
Flask-Login==0.2.11
Flask-Mail==0.9.1
Flask-OpenID==1.2.4
Flask-SQLAlchemy==2.0
Flask-WTF==0.10.3
Flask-WhooshAlchemy==0.56
Jinja2==2.7.3
MarkupSafe==0.23
PAM==0.4.2
Pillow==2.3.0
Pygments==1.6
Scrapy==0.24.4
Sphinx==1.2.2
Tempita==0.5.2
WTForms==2.0.1
Werkzeug==0.9.6
Whoosh==2.6.0
adium-theme-ubuntu==0.3.4
apt-xapian-index==0.45
argparse==1.2.1
backports.ssl-match-hostname==3.4.0.2
blinker==1.3
boto==2.20.1
bottle==0.12.7
certifi==14.05.14
chardet==2.0.1
colorama==0.2.5
command-not-found==0.3
coverage==3.7.1
cssselect==0.9.1
debtagshw==0.1
decorator==3.4.0
defer==1.0.6
dirspec==13.10
docutils==0.11
duplicity==0.6.23
ecdsa==0.11
flipflop==1.0
guess-language==0.2
guppy==0.1.9
html5lib==0.999
httplib2==0.8
ipython==2.3.1
itsdangerous==0.24
lockfile==0.8
lxml==3.3.3
nose==1.3.4
numpy==1.8.2
oauthlib==0.6.1
oneconf==0.3.7
paramiko==1.15.2
pbr==0.10.7
pexpect==3.1
piston-mini-client==0.7.5
psycopg2==2.5.4
pyOpenSSL==0.13
pyasn1==0.1.7
pycrypto==2.6.1
pycups==1.9.66
pycurl==7.19.3
pygame==1.9.1release
pygobject==3.12.0
pyserial==2.6
pysmbc==1.0.14.1
python-apt==0.9.3.5ubuntu1
python-debian==0.1.21-nmu2ubuntu2
python-openid==2.2.5
pytz==2014.10
pyxdg==0.25
queuelib==1.2.2
reportlab==3.0
requests==2.2.1
roman==2.0.0
sessioninstaller==0.0.0
simplegeneric==0.8.1
six==1.5.2
software-center-aptd-plugins==0.0.0
speaklater==1.3
sqlalchemy-migrate==0.9.2
sqlparse==0.1.14
system-service==0.1.6
tornado==4.0.2
unity-lens-photos==1.0
urllib3==1.7.1
virtualenv==1.11.6
w3lib==1.10.0
wsgiref==0.1.2
wxPython==2.8.12.1
wxPython-common==2.8.12.1
xdiagnose==3.6.3build2
z3c.xmlhttp==0.5.1
zope.interface==4.0.5
zope.publisher==4.0.0a4
zope.traversing==4.0.0
zope.viewlet==4.0.0a1

5条回答
啃猪蹄的小仙女
2楼-- · 2019-01-21 20:18

try pip install -r requirements.txt

It worked for me

查看更多
Juvenile、少年°
3楼-- · 2019-01-21 20:23

I had this problem but with a different cause - I had an old version of virtualenv. Before version 1.7 you had to specify the option --no-site-packages when you create the virtual environment to not include global packages.

Two options to fix this, either upgrade your virtualenv:

sudo pip install virtualenv --upgrade
virtualenv venv

Or use the old one with the no-site-packages option:

virtualenv venv --no-site-packages

That fixed my requirements.txt file.

查看更多
劫难
4楼-- · 2019-01-21 20:23

sudo pip install -r requirements.txt or pip install -r requirements.txt worked for me

查看更多
迷人小祖宗
5楼-- · 2019-01-21 20:28

I see a few problems:

  1. Your requirements.txt is for the base system Python, not any virtual environment. Django does not have any external dependencies.

  2. You are using the root user to install packages in your virtual environment (or you are using sudo when you shouldn't).

The best option is to start from scratch:

$ virtualenv myvenv
...
$ source myvenv/bin/activate
(myvenv) $ pip install django
...
(myvenv) $ pip freeze > requirements.txt
查看更多
霸刀☆藐视天下
6楼-- · 2019-01-21 20:38

Had a similar issue but the above method didn't work for me. Clarified it with a rather simpler solution:

(venv) $ pip install --upgrade -r requirements.txt

UPDATE: This command upgrades all packages that have been explicitly listed in your requirements.txt file.

Your requirements.txt file is just a list of pip install arguments placed in a file. They are used to hold the result from pip freeze for the purpose of achieving repeatable installations. In this case, your requirements.txt file contains a pinned version of everything that was installed when pip freeze was run.

查看更多
登录 后发表回答