我的电脑上同时安装了 Windows 和 Ubuntu。
通常,我在 Ubuntu 上使用 Python,但有时,我需要将我的脚本编译为 Windows .exe 文件。为此,我需要在 Windows 上安装与在 Ubuntu 上相同的 python 库列表。
我已经尝试用
解决这个问题- pip freeze > requirements.txt
- pip install -r requirements.txt
但是第二个操作会在许多库上引发错误,例如 apturl,当然还有 unity-scope,例如 - “Could not find blah-blah-blah”。现在我只是手动安装所有需要的库,但这很无聊。
在 Win 和 Linux 之间“同步”python 库列表的最佳方法是什么?
经过一番思考
好的,我有一个想法,还有另一个问题 - 是否可以忽略所有“找不到”错误并继续处理列表中的下一个元素?
最佳答案
我看到解决这个问题的方法是使用 python virtualenvironment . pip freeze > requirements.txt
如果您在系统 python 安装上使用它,它会非常粗糙。虚拟环境是一个独立的 python 安装,允许您在不同的项目中有不同的 python 要求,并且能够在不同的环境中可靠地重现 python 依赖项。在两个操作系统上安装 virtualenv 后,(apt-get install python-virtualenv
在 Ubuntu 上,以及网站上的 Windows 说明)工作流程将类似于以下内容:
- 创建一个没有系统包的 virtualenv (
virtualenv/path/to/env
) - 激活virtualenv (source/path/to/env/bin/activate)
- 创建一个只包含您需要的库的 requirements.txt 文件(取决于您在系统 python 安装中有多少,手动执行此操作可能会更容易)
pip install -r requirements.txt
在你漂亮的新 virtualenv 中并检查你的代码是否有效。 (python myscript.py)- 对其他操作系统重复 1、2 和 4。
正如@vrs 所述,您的要求中的某些内容取决于 apturl
和 unity-scope
(它们是特定于 linux 的),这有点奇怪,但是如果您的项目实际上只依赖于 python 包,那么如果你可以在两种环境中启动并运行 virutalenv,那么上面的方法应该可以正常工作。
关于python - 适用于 Ubuntu 和 Windows 的相同 python 库列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34684281/