问题是:

我有一个requirements.txt文件,看起来像:

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

我有一个本地归档目录,包含所有包和其他包。

我用

bin/virtualenv testing

激活后,我尝试根据本地存档目录中的requirements.txt安装软件包。

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

我得到的一些输出似乎表明安装正常:

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py egg_info for package South
....

但后来的检查显示,没有一个软件包安装正确。我无法导入包,并且在virtualenv的站点包目录中找不到包。那么到底出了什么问题?


当前回答

创建虚拟环境python3-m venv virtual env(对于windows,使用python而不是python2)激活虚拟环境源虚拟env/bin/Activate现在安装requirements pip install-r requirements.txt

其他回答

对于virtualenv,安装requirements.txt文件中的所有文件。

cd到requirements.txt所在的目录激活虚拟世界在shell中运行:pip install-r requirements.txt

创建虚拟环境python3-m venv virtual env(对于windows,使用python而不是python2)激活虚拟环境源虚拟env/bin/Activate现在安装requirements pip install-r requirements.txt

使用pip3 install-r requirements.txt,但确保requirements.txt文件已从源文件中提取,且未添加到.gitignore

我通过运行以下命令解决了问题:

py -m pip install ./requirements.txt

上面的命令将安装Django项目的所有依赖项和库。

虽然pip install-r requirements.txt在大多数情况下都能正常工作,我们有时会面临这样的问题,即我们的需求具有相互冲突的依赖关系。

您可以使用以下一个衬垫逐行安装软件包:

while read -r line; do echo $line | cut -d' ' -f1 | xargs pip install; done < requirements.txt

希望它能帮助到某人!