【问题标题】:Unable to clone Python venv to another PC无法将 Python venv 克隆到另一台 PC
【发布时间】:2020-09-17 05:52:48
【问题描述】:

我想将现有的 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" notebook':系统找不到指定的文件。

我不知道怎么做。请帮忙!

编辑

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

【问题讨论】:

    标签: python jupyter-notebook python-venv


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 正确答案虽然通常遵循的做法是将文件命名为 requirements.txt
    • 感谢您的回答,但问题是我的第二台机器上没有互联网连接。实际上,它是一台应用了一些安全协议的远程机器,并且没有互联网连接是安全的一部分!我的坏:'(
    • @MichaelAnckaert requirements.txt 往往是随包或项目一起提供的,但情况并非如此。
    • @DevLoverUmar 添加了离线安装说明。
    • 是的。这里的一切都假设激活了 venvs。
    【解决方案2】:

    您不应该在机器之间复制虚拟环境。正确的做法是使用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
    

    【讨论】:

    • 感谢您的回答,但问题是我在第二台机器上没有互联网连接。实际上它是一台应用了一些安全协议的远程机器,并且没有互联网连接是安全的一部分!我的坏:'(
    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2014-05-20
    • 2018-12-17
    • 1970-01-01
    • 2014-04-29
    • 2012-02-02
    相关资源
    最近更新 更多