gpt4 book ai didi

python - 将 python virtualenv 克隆到离线服务器

转载 作者:行者123 更新时间:2023-12-05 02:45:55 25 4
gpt4 key购买 nike

您好,我想将 python virtualenv 克隆到未连接到互联网的服务器上,我搜索了不同的论坛,但没有找到明确的答案。以下是我找到的方法以及每种方法遇到的问题:

方法一:(最安全但最耗时)

通过 pip freeze > requierments.txt 保存所有库,然后手动下载每个库并将它们存储在一个目录中。将此目录复制到离线服务器,然后在离线服务器中创建一个新的 virtualenv,并从下载的文件中安装所有要求。为避免手动下载每个包,我在源计算机中使用了 pip download -r requirements.txt -d wheelfiles,但我找不到在一个命令中安装所有包的方法。但我可以使用带有循环的脚本来遍历每个脚本。问题是即使源服务器也没有互联网连接来下载这些包。

方法二:(不太推荐,但我不明白为什么)

就是将 virtualenv 目录及其所有文件简单地复制到离线机器上,两台机器显然应该具有相同的 Python 版本,并且您必须手动修改一些硬编码路径,例如修改所有包含 sourceserver 的文件\user1\dev\virtualenvtargetserver\user4\dev\virtualenv 通常要修改的文件以 activate* 或 pip* 开头。但是据说不推荐这种方法,但我不明白为什么。

此外,如果此方法没有问题,我可以将 virtualenv 文件夹从 Linux 服务器复制到 Windows 服务器,反之亦然吗?

最佳答案

您可以使用安装所有要求

pip install -r requirements.txt

这意味着选项是:

  1. pip freeze > requirements.txt
  2. pip download -r requirements.txt -d wheelfiles
  3. pip install -r requirements.txt --no-index --find-links path/to/wheels

  1. 确保目标机器具有相同的体系结构、操作系统和 Python 版本
  2. 复制虚拟环境
  3. 修改文件中的各种硬编码路径

应该清楚为什么首选前者,尤其是因为它完全独立于 Python 版本、机器体系结构、操作系统等。

此外,前者意味着可以将 requirements.txt 提交给源代码控制,以便在任何机器上按需重新创建环境,包括由其他人以及当原始机器或副本虚拟环境不可用。在大小方面,requirements.txt 文件也比整个虚拟环境小得多。

关于python - 将 python virtualenv 克隆到离线服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65722324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com