每个使用开源软件的人都知道有点腐烂率 很高。对于Python软件包来说,情况确实如此,这些软件包似乎会以令人不安的频率更改其API。
您可以构建pip
requirements.txt文件来记录所有依赖项,但有时您无法在6个月后找到所需的软件包版本。
假设我构建了一个requirements.txt
这样的文件......
decorator==3.4.0
flup>=1.0.2
Werkzeug==0.9.4
argparse==1.2.1
Mako==0.9.0
Jinja2==2.7.1
Flask==0.10.1
itsdangerous==0.23
WTForms==1.0.5
Flask_WTF==0.9.3
我想避免找到特定包版本的问题。
是否有一种简单的方法可以将所有必需的软件包填充到磁盘存档中,而无需从pypi单独下载它们?
答案 0 :(得分:2)
您可以使用download-cache
中的~/.pip.conf
选项,这将存储您安装的软件包(其下载的存档),您可以稍后从中安装:
[global]
default-timeout = 60
respect-virtualenv = true
download-cache = /home/foo/bar/.pip/cache
log-file = /home/foo/bar/.pip/pip.log
build = /home/foo/bar/.pip/build
[install]
use-mirrors = true
您还可以创建自己的pypi server,然后维护自己的软件包版本。
在工作中我更喜欢这个选项,因为它允许我使用标准的Python distutils来分发和安装我不想放在全球奶酪店的包。
答案 1 :(得分:0)
这对我有用......使用pip
版本1.4.1
cd <package directory>
cat requirements.txt | xargs -I{} pip install {} --download ./ --no-install
在那之后,use pip
to install the packages from the same disk archive