我的电脑上有Windows和Ubuntu 通常,我在Ubuntu上使用Python,但有时,我需要将我的脚本编译为Windows .exe文件。为此,我需要在Windows上安装与在Ubuntu上相同的python库列表。
我试图用
来解决这个问题但是第二次操作会在许多库中引发错误,例如 apturl ,当然,统一范围就像 - “找不到等等等等”。现在我只是手动安装所有需要的库,但它很无聊。
在Win和Linux之间“同步”python库列表的最佳方法是什么?
经过一番思考
好的,我有一个想法,还有另外一个问题 - 是否可以忽略所有“找不到”错误并继续查看列表中的下一个元素?
答案 0 :(得分:1)
逐个尝试设置
Linux的
xargs -a requirements.txt -n 1 pip install
窗
import sys
import pip
def install(package):
pip.main(['install', package])
if __name__ == '__main__':
with open(sys.argv[1]) as f:
for line in f:
install(line)
找到here
同样如上所述,不要忘记系统范围的数据包,pip + virtualenv在某些情况下使用它并不好用,你必须使用外部工具。
我认为pip accel非常适合它。它只是一个点子包装,似乎可以解决你所有的问题。
此外,由于0.9版pip-accel包含一个简单的机制,可以在构建失败时检测缺少的系统包,并提示用户是否安装缺少的依赖项并重试构建。
pip-accel程序目前在cPython 2.6,2.7,3.4和 3.5和PyPy(2.7)。自动测试套件定期在Ubuntu Linux(Travis CI)和Microsoft Windows(AppVeyor)上运行。此外 对于这些平台,pip-accel应该可以在大多数UNIX系统上正常运行 (例如Mac OS X)。
答案 1 :(得分:1)
我看到这个问题解决的方法是使用python virtualenvironment。如果您在系统python安装中使用它,pip freeze > requirements.txt
非常有用。虚拟环境是一个独立的python安装,允许您在不同的项目中具有不同的python需求,以及能够在不同环境中可靠地重现python依赖项。在您的操作系统上安装virtualenv后,(Ubuntu上的apt-get install python-virtualenv
以及Windows网站上的说明)工作流程将如下所示:
virtualenv /path/to/env
)pip install -r requirements.txt
在你漂亮的新virtualenv中检查你的代码是否正常工作。 (python myscript.py)正如@vrs所说,你的要求中的某些东西取决于apturl
和unity-scope
(这是特定于linux的),但是如果你的项目实际上只依赖于python,那就有点奇怪了包,然后上面应该工作得很好,只要你可以在两个环境中启动并运行virutalenv。