如何根据本地目录中的 requirements.txt 文件使用 pip 安装软件包?

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
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
....

答案

pip install -r /path/to/requirements.txt

这对我有用:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index --find-links忽略软件包索引(仅查看--find-links URL)。

-f, --find-links <URL> - 如果是 HTML 文件的 URL 或路径,则解析到存档的链接。如果是目录的本地路径或file:// URL,则在目录列表中查找档案。

为了使 virtualenv 将所有文件安装在 requirements.txt 文件中。

  1. cd 到 requirements.txt 所在的目录
  2. 激活您的虚拟环境
  3. 在您的 shell 中运行: pip install -r requirements.txt

我有一个类似的问题。我尝试了这个:

pip install -U -r requirements.txt

(-U = 更新(如果已经安装))

但是问题仍然存在。我意识到缺少一些通用的开发库。

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

我不知道这是否对您有帮助。

pip install -r requirements.txt

有关更多详细信息,请检查帮助选项。

pip install --help

我们可以找到选项 “-r”

-r,--requirement 从给定的需求文件安装。此选项可以多次使用。

有关一些常用 pip 安装选项的更多信息:(这是 pip install 命令上的帮助选项)

在此处输入图片说明

以上是完整的选项集。请使用 pip install --help 获得完整的选项列表。

简短答案

pip install -r /path/to/requirements.txt

或其他形式:

python -m pip install -r /path/to/requirements.txt

说明

在这里, -r--requirement简写形式,它要求pip从给定的requirements文件中进行安装。

pip仅在检查requirements文件中所有列出的项目的可用性之后才开始安装,即使一个requirement不可用,它也不会开始安装。

安装可用软件包的一种解决方法是逐一安装列出的软件包。为此使用以下命令。将显示红色警告,以通知您不可用的软件包。

cat requirements.txt | xargs -n 1 pip install

要忽略注释(以#开头的行)和空白行,请使用:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
$ pip install --download <DIR> -r requirements.txt

然后,使用–find-links–no-index

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

我使用了很多系统,这些系统被开发人员 “遵循他们在互联网上找到的指示” 所破坏。这是非常常见的,您的pippython不会看到相同的路径 / 站点包。出于这个原因,当我遇到奇怪的事物时,我首先要做的是:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

那是一个快乐的系统

下面是一个不愉快的系统 。 (或者至少是一个幸福无知的系统,导致其他人感到不高兴。)

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

这是不高兴 ,因为pip是使用(python3.6 和) /usr/local/lib/python3.6/site-packagespython是使用(python2.7 和) /usr/local/lib/python2.7/site-packages

当我要确保将要求安装到正确的 python 时,请执行以下操作:

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

您已经听说过,“如果它没有损坏,请不要尝试对其进行修复。” DevOps 的版本是 “如果您不破坏它并且可以解决它,请不要尝试对其进行修复。”

使用 python 3 在虚拟环境中安装 Requirements.txt 文件:

我遇到过同样的问题。我试图在虚拟环境中安装 requirements.txt 文件。我找到了解决方案。

最初,我以这种方式创建了虚拟环境:

virtualenv -p python3 myenv

使用以下方法激活环境:

source myenv/bin/activate

现在,我使用以下命令安装了 requirements.txt:

pip3 install -r requirements.txt

安装成功,我能够导入模块。

python -m pip install -r requirements.txt