【问题标题】:Clone a virtualenv without use pip freeze在不使用 pip freeze 的情况下克隆 virtualenv
【发布时间】:2017-08-17 16:15:47
【问题描述】:

我正在使用一个没有下载某些模块的虚拟环境,所以执行pip freeze > requirements.txt 然后pip install -r requirements.txt 将不起作用。有办法避免这种情况吗?? 之后,我必须将这个 virtualenv 复制到另一台机器中,所以也许有一些 PATH 需要更改或其他,对吧?

【问题讨论】:

    标签: python linux python-3.x pip virtualenv


    【解决方案1】:

    您可以使用 git 等源代码控制工具、安装脚本或两者的组合。将安装脚本保存在您的顶级目录中并在新机器上运行它。使用curl 将您需要的内容下载到正确的目录中。

    【讨论】:

      【解决方案2】:

      假设你想安装最新的 Django。

      1. 从 pypi.python.org 本地下载 .gz 文件并解压缩。您应该可以看到 setup.py 文件。
      2. 现在激活您的 virtualenv 并转到您看到 setup.py 的 Django 文件夹并输入命令 python setup.py install
      3. 或者在你的 virtualenv 中获取 python 二进制/可执行文件的完整路径,然后转到你有 setup.py 的文件夹并执行 your-complete-path/python setup.py install

      【讨论】:

        【解决方案3】:

        一个有助于复制/移动 virtualenvs 的工具是virtualenv tools。既然你已经标记了 [python-3.x],这里有一个 python3.x 兼容的 fork:https://github.com/Yelp/virtualenv-tools

        在移动/复制 virtualenv 时,有几个文件包含有关原始路径的信息并且需要更新(尤其是脚本的 shebangs、pyc 文件等)

        如下调用 virtualenv 工具:

        virtualenv venv
        venv/bin/pip install ...
        venv/bin/python -m virtualenv_tools --update-path $REMOTE_PATH venv
        # Then you can package up `venv` and ship it to other boxes, and put it at /$REMOTE_PATH on disk
        

        免责声明:我部分维护 3.x 分支

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-04-06
          • 2021-08-11
          • 1970-01-01
          • 2020-10-18
          • 2012-07-27
          • 1970-01-01
          • 2017-01-18
          相关资源
          最近更新 更多