繁体   English   中英

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

[英]Unable to clone Python venv to another PC

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

点子列表

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

点子列表

它显示了所有依赖项,但是,当我尝试将 jupyter notebook 启动为

jupyter 笔记本

它给出了以下错误。

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

我不知道让事情发挥作用。 请帮忙!

编辑

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

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

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

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

编辑:如果您在第二台机器上没有互联网访问权限,您可以从第 2 步继续:

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

您永远不应该在机器之间复制虚拟环境。 正确的方法是使用pip freeze导出环境中安装的依赖,并在另一台机器上创建一个新的虚拟环境。

# One the first machine
pip freeze > requirements.txt
# Copy requirements.txt to the other machine, or store in a source repository
# Then install the requirements in the new virtual environment
pip install -r requirements.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM