2017-03-24 57 views
1

我正在与一个virtualenviroment,没有一些模块的下载,所以做pip freeze > requirements.txt,然后pip install -r requirements.txt将无法​​正常工作。有一种方法可以避免这种情况? 之后,我必须将这个virtualenv复制到另一台机器中,所以也许有一些PATH需要更改或其他的东西,对吧?克隆virtualenv没有使用pip冻结

回答

0

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

0

假设你想安装最新的Django。

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

一个工具,可以帮助复制/移动virtualenvs是virtualenv tools。由于你已经标记了[python-3.x],所以这是一个python3.x兼容分支: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的叉