相同的Python库列表适用于Ubuntu和Windows操作系统。

7 浏览
0 Comments

相同的Python库列表适用于Ubuntu和Windows操作系统。

我在电脑上同时安装了Windows和Ubuntu。

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

我尝试使用pip freeze > requirements.txtpip install -r requirements.txt解决此问题,但第二个操作会出现许多库的错误,如apturlunity-scope等-“无法找到某某某”。目前我只能手动安装所有需要的库,但这很无聊。

有什么最好的方法来“同步”Python库列表在Windows和Linux之间?

一些想法之后

好吧,我有个想法,还有一个问题-是否可以忽略所有“无法找到”的错误,继续进行下一个元素的列表?

admin 更改状态以发布 2023年5月22日
0
0 Comments

一次设置一个

Linux

xargs -a requirements.txt -n 1 pip install

Windows

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)

这里找到

此外,正如已经提到的,不要忘记系统范围的信息包,pip + virtualenv在某些情况下不能很好地处理它,你必须使用外部工具。

我认为pip accel会很好用。它只是一个pip包装器,似乎可以解决所有问题。

此外,从版本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)上都可以很好地工作。

0
0 Comments

我看到解决这个问题的方式是使用Python虚拟环境。如果在您的系统Python安装上使用它,pip freeze > requirements.txt将非常粗暴。虚拟环境是一个隔离的Python安装,允许您在不同的项目中具有不同的Python要求,并能够在不同的环境之间可靠地复制Python依赖项。在两个操作系统上安装virtualenv之后(在Ubuntu上使用apt-get install python-virtualenv,在Windows上按照网站上的说明),工作流程将如下:

  1. 创建一个没有系统安装包的虚拟环境virtualenv /path/to/env
  2. 激活虚拟环境(source /path/to/env/bin/activate)
  3. 创建一个仅包含需要的库的requirements.txt文件(根据您系统Python安装中的内容多少,手动完成这个步骤可能会更容易)
  4. pip install -r requirements.txt在您漂亮的新虚拟环境中,并检查您的代码是否工作(python myscript.py)
  5. 重复步骤1,2和4在另一个操作系统上。

正如@vrs所说的那样,有点奇怪的是您的要求中有些依赖于apturlunity-scope(这些是针对Linux的),但如果您的项目实际上只依赖于Python包,则以上方法应该没有问题,前提是您在两个环境中都能够运行虚拟环境。

0