python - 如何创建独立的 pip 包(包括所有部门)

标签 python pip

创建独立 pip 包的最佳方法是什么,它可以在任何安装了裸包的机器上运行?

说,我要打包pelican这样它将在所有安装了 python 的计算机上运行(暂时假设所有依赖项都是纯 python)。

最佳答案

我心里有两个方案:bundlespip install --no-install 技巧。

使用:

$ virtualenv venv
$ venv/bin/pip install pelican
$ venv/bin/pip freeze > all-packages.txt
$ venv/bin/pip bundle allpackages.pybundle -r all-packages.txt

(我创建了 venv 来拥有一个干净的环境并且 all-packages.txt 只包含 pelican 需要的东西)

而你只需要分发allpackages.pybundle,谁想要那些必须做的包:

$ venv/bin/pip install allpackages.pybundle -r all-packages.txt

使用 pip install --no-install:

pip 可以将所有包下载到一个目录中,您可以分发这些包。假设您有包含所有需要分发的包的 all-packages.txt,您可以使用 --no-install--download-dir 选项:

$ mkdir tarballs
$ venv/bin/pip install --no-install --download-dir=tarballs -r all-packages.txt

如果你使用最后一个技巧并想使用 pip 安装这些包:

$ venv/bin/pip install --no-deps --no-index tarballs/*

选项 no-deps 是必需的,因为 pip 在安装 wnated 包之前会查找依赖项。我使用 --no-index 只是为了向您展示 pip 不需要去 PyPI 查找任何东西,而且在那一步您甚至不需要互联网连接。

关于python - 如何创建独立的 pip 包(包括所有部门),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698374/

相关文章:

python - 是否有一个内置函数可以打印对象的所有当前属性和值?

python - 基于 Sublime Text 2 语法的特定 font_face

python-3.x - 运行 pip install -rrequirements.txt 时出错

python - 尝试安装 PyQT5 时 Pip 安装卡在 "Preparing Wheel metadata..."

python - pip 错误 : bad interpreter: No such file or directory

python - 当我在 virtualenv 中时无法 pip 安装包

python - 如何捕获 FTP 错误?例如,socket.error : [Errno 10060]

python - 一起打印函数调用函数

python - 汇编的十六进制内存地址

Python 错误 : "ImportError: cannot import name isnat"