无法将 Python venv 克隆到另一台 PC

Muh*_*ooq 4 python python-venv jupyter-notebook

我想将现有的 venv 克隆到另一台电脑,但简单地复制粘贴不起作用。当我复制 venv 并粘贴到第二台机器并运行时

点值列表

它仅列出 pip 和 setup_tools 作为已安装的依赖项。我尝试了另一种方法来克隆包。我在第二台机器中创建了一个新的 venv,并将第一个 venv 的所有文件复制到该新 venv,并跳过新 venv 中具有相同名称的现有文件。现在,当我跑步时

点值列表

它显示了所有依赖项,但是当我尝试启动 jupyter 笔记本时

Jupyter笔记本

它给出以下错误。

启动器中的致命错误:无法使用“f:\path\to\first_venv\on_first_machine\scripts\python.exe”“C:\path\to\new_venv\on_the_second_machine\Scripts\jupyter.exe”笔记本创建进程:该系统找不到指定的文件。

我不知道如何让事情顺利进行。请帮忙!

编辑

问题是我的第二台机器没有互联网连接。实际上,它是一台应用了一些安全协议的远程计算机,没有互联网连接是安全的一部分!我的错 :'(

AKX*_*AKX 14

您无法将 venvs 从一台计算机复制粘贴到另一台计算机,因为其中的脚本可能引用系统位置。(这同样代表尝试在机器内移动 venv。)

相反,在新机器上重新创建环境:

  1. 在旧机器上,pip freeze -l > packages.txt在 virtualenv 中运行。
  2. 转移packages.txt到新机器上。
  3. 在新机器上新建一个virtualenv并进入。
  4. 从 txt 文件安装软件包:pip install -r packages.txt.

编辑:如果您在第二台计算机上无法访问互联网,则可以从步骤 2 继续:

  1. pip wheel -w wheels -r packages.txt在第一台机器上的 venv 中运行。这将为*.whl您需要的所有包下载并构建包。请注意,这假设两台机器的操作系统和架构相似!
  2. 将车轮文件复制到新机器上。
  3. 在新机器上新建一个virtualenv并进入。
  4. 在新的 virtualenv: 中从wheels 安装软件包pip install *.whl

  • 正确答案虽然通常遵循的做法是将文件命名为requirements.txt (3认同)
  • 是的。这里的一切都假设 venvs 已激活。 (2认同)