[英]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。)
相反,在新机器上重新创建环境:
pip freeze -l > packages.txt
。packages.txt
移到新机器上。pip install -r packages.txt
: pip install -r packages.txt
。编辑:如果您在第二台机器上没有互联网访问权限,您可以从第 2 步继续:
pip wheel -w wheels -r packages.txt
。 这将为您需要的所有包下载并构建*.whl
包。 请注意,这假设两台机器在操作系统和架构上相似!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.