将 Python 项目以及依赖项打包到另一台没有互联网和不同操作系统的机器上



正如标题所暗示的那样,我有一台运行带有python项目的mac os的计算机。我有一台没有互联网的Windows计算机,使用Python 3.6和pip。

有问题的项目依赖于几个 pip 包依赖项。无论如何,可以将所有内容打包在一起,以便项目可以在没有互联网的Windows机器上工作?

在某种程度上pip允许下载具有不同平台依赖项的包。尝试

pip download --only-binary=:all: --platform win_amd64 --implementation cp --python-version=3.6 --abi=cp36m 'put-your-package-name-here'

如果包及其所有依赖项都提供二进制轮pip则将它们全部下载到当前目录中。将它们移动到脱机计算机并在那里运行

pip install --find-links=pathtowheelsdirectory 'your-package'

如果包及其所有依赖项仅提供源代码分发,请尝试

pip download --only-binary=:none: --platform win_amd64 --implementation cp --python-version=3.6 --abi=cp36m 'your-package'

但是,如果包和依赖项是混合的——有些有二进制轮子,有些只有 sdist——pip无法下载依赖项。这种情况没有解决方案。唯一的解决方法是在MacOS上运行Windows——在模拟器或容器中。

附言。我以平台win_amd64为例。如果您有 32 位 Windows 或在 64 位 Windows 上有 32 位 Python — 请使用平台win32

相关内容

最新更新