python 从 requirements.txt 安装 pip 时遇到问题
python pip trouble installing from requirements.txt
过去我在 pip 方面很幸运,但是在 venv 上安装一些东西让我有些头疼。
我不断收到类似的错误
在/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
我知道这些包安装在主系统上,但好像它们不能在 venv 上运行。你们都是如何解决这个问题的?这是漫长的一天,我只是不明白问题是什么,特别是因为它们在我的本地系统上工作,它们在我的远程系统上的主要 python 安装上工作,但在 venv 中不工作,有些疯狂原因。有什么想法吗?
这是要求,我认为它对 django 有点紧张,但这就是 pip freeze > requirements.txt 给我的
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
我看到了一些问题:
您的 requirements.txt
适用于基础系统 Python,而非任何虚拟环境。 Django 没有任何外部依赖项。
您正在使用 root 用户在您的虚拟环境中安装软件包(或者您在不应该使用的情况下使用 sudo
)。
最好的选择是从头开始:
$ virtualenv myvenv
...
$ source myvenv/bin/activate
(myvenv) $ pip install django
...
(myvenv) $ pip freeze > requirements.txt
有过类似的问题,但上面的方法对我不起作用。用一个更简单的解决方案澄清它:
(venv) $ pip install --upgrade -r requirements.txt
更新:
此命令升级所有已在您的 requirements.txt
文件中明确列出的软件包。
您的 requirements.txt
文件只是放置在文件中的 pip 安装参数列表。它们用于保存 pip freeze 的结果,以实现可重复安装。在这种情况下,您的 requirements.txt
文件包含 pip freeze 为 运行.
时安装的所有内容的固定版本
我遇到了这个问题,但原因不同——我使用的是旧版本的 virtualenv。在 1.7 版之前,您必须在创建虚拟环境时指定选项 --no-site-packages 才能不包含全局包。
解决此问题的两个选项,要么升级您的 virtualenv:
sudo pip install virtualenv --upgrade
virtualenv venv
或者使用带有 no-site-packages 选项的旧版本:
virtualenv venv --no-site-packages
这修复了我的 requirements.txt 文件。
尝试pip install -r requirements.txt
对我有用
sudo pip install -r requirements.txt
或 pip install -r requirements.txt
为我工作
以下解决方案对我有用:
(my-virtualenv) 20:42 ~/MyPf (master)$ pip freeze > requirements.txt |
(my-virtualenv) 20:43 ~/MyPf (master)$ pip install -r requirements.txt
过去我在 pip 方面很幸运,但是在 venv 上安装一些东西让我有些头疼。 我不断收到类似的错误 在/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
我知道这些包安装在主系统上,但好像它们不能在 venv 上运行。你们都是如何解决这个问题的?这是漫长的一天,我只是不明白问题是什么,特别是因为它们在我的本地系统上工作,它们在我的远程系统上的主要 python 安装上工作,但在 venv 中不工作,有些疯狂原因。有什么想法吗?
这是要求,我认为它对 django 有点紧张,但这就是 pip freeze > requirements.txt 给我的
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
我看到了一些问题:
您的
requirements.txt
适用于基础系统 Python,而非任何虚拟环境。 Django 没有任何外部依赖项。您正在使用 root 用户在您的虚拟环境中安装软件包(或者您在不应该使用的情况下使用
sudo
)。
最好的选择是从头开始:
$ virtualenv myvenv
...
$ source myvenv/bin/activate
(myvenv) $ pip install django
...
(myvenv) $ pip freeze > requirements.txt
有过类似的问题,但上面的方法对我不起作用。用一个更简单的解决方案澄清它:
(venv) $ pip install --upgrade -r requirements.txt
更新:
此命令升级所有已在您的 requirements.txt
文件中明确列出的软件包。
您的 requirements.txt
文件只是放置在文件中的 pip 安装参数列表。它们用于保存 pip freeze 的结果,以实现可重复安装。在这种情况下,您的 requirements.txt
文件包含 pip freeze 为 运行.
我遇到了这个问题,但原因不同——我使用的是旧版本的 virtualenv。在 1.7 版之前,您必须在创建虚拟环境时指定选项 --no-site-packages 才能不包含全局包。
解决此问题的两个选项,要么升级您的 virtualenv:
sudo pip install virtualenv --upgrade
virtualenv venv
或者使用带有 no-site-packages 选项的旧版本:
virtualenv venv --no-site-packages
这修复了我的 requirements.txt 文件。
尝试pip install -r requirements.txt
对我有用
sudo pip install -r requirements.txt
或 pip install -r requirements.txt
为我工作
以下解决方案对我有用:
(my-virtualenv) 20:42 ~/MyPf (master)$ pip freeze > requirements.txt |
(my-virtualenv) 20:43 ~/MyPf (master)$ pip install -r requirements.txt