python-3.x 如何在没有互联网的服务器上使用pipenv安装软件包和虚拟机?

4dc9hkyq  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(93)

我有一个python脚本,我试图把一个服务器上没有互联网接入。我使用pipenv创建一个虚拟环境。通常我如何做的服务器上的脚本与互联网接入它我复制脚本,pipfile和pipfile.lock放到服务器上的一个目录中。然后我创建一个空的.venv文件夹,用于在本地创建一个虚拟环境。然后我打开CMD并运行pipenv install,安装我的虚拟环境并安装所有的软件包。我想在一个没有互联网接入的服务器上做同样的事情。
到目前为止,我已经尝试过:在我的本地机器上:

  • 运行pip freeze > requirements.txt->创建需求文本文件
  • 运行pip download -r requirements.txt->将软件包下载到目录中

在服务器上:

  • 复制整个目录到我的服务器没有互联网接入
  • 添加空.venv文件夹在目录中
  • cd到包含python脚本requirements.txt的目录中
  • 运行pipenv install -r requirements.txt(我也尝试运行pipv install -r requirements.txt

Pipenv安装在服务器上。我不确定在服务器上的正确步骤是什么,以及我是否需要空的.venv文件。我也不确定是否需要将所有文件(脚本,requirements.txt,pipfile,pifile.lock和.whl文件)保存在同一目录中。提前感谢您的帮助!
此外,如果有一个更好的方法,完全复制和整个脚本与软件包,我想知道如何。我认为我有隧道的视野在这一点上,无法看到其他/更好的选择如何做到这一点。

wnrlj8wa

wnrlj8wa1#

在可以访问Internet的计算机上(如果您有二进制依赖项,则具有相同的操作系统和处理器架构以及Python版本),运行

pip wheel -w wheels .

字符串
这将下载和/或构建所有依赖项的wheel到wheels/中。
然后,您可以将这些.whl文件移动到您的airgapped服务器,并在激活的virtualenv中pip install *.whl它们。

相关问题