Ubuntu和Windows

时间:2016-01-08 19:06:48

标签: python linux windows ubuntu

我的电脑上有Windows和Ubuntu 通常,我在Ubuntu上使用Python,但有时,我需要将我的脚本编译为Windows .exe文件。为此,我需要在Windows上安装与在Ubuntu上相同的python库列表。

我试图用

来解决这个问题
  • pip freeze> requirements.txt
  • pip install -r requirements.txt

但是第二次操作会在许多库中引发错误,例如 apturl ,当然,统一范围就像 - “找不到等等等等”。现在我只是手动安装所有需要的库,但它很无聊。

在Win和Linux之间“同步”python库列表的最佳方法是什么?



经过一番思考
好的,我有一个想法,还有另外一个问题 - 是否可以忽略所有“找不到”错误并继续查看列表中的下一个元素?

2 个答案:

答案 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网站上的说明)工作流程将如下所示:

  1. 创建没有系统包(virtualenv /path/to/env
  2. 的virtualenv
  3. 激活virtualenv(source / path / to / env / bin / activate)
  4. 只使用您需要的库创建一个requirements.txt文件(根据系统python安装的数量,可能更容易手动完成)
  5. pip install -r requirements.txt在你漂亮的新virtualenv中检查你的代码是否正常工作。 (python myscript.py)
  6. 对另一个操作系统重复1,2和4。
  7. 正如@vrs所说,你的要求中的某些东西取决于apturlunity-scope(这是特定于linux的),但是如果你的项目实际上只依赖于python,那就有点奇怪了包,然后上面应该工作得很好,只要你可以在两个环境中启动并运行virutalenv。