我很困惑,我应该把我的virtualenvs。
我的第一个Django项目,我创建了项目与命令
django-admin.py startproject djangoproject
然后我cd'd到djangoproject目录并运行命令
virtualenv env
其中所创建的虚拟环境目录在同一水平作为内djangoproject
目录。
这是错误的地方要在其中创建了这个特殊项目的virtualenv?
我得到大多数人保持他们的所有virtualenvs一起在一个完全不同的目录中的印象,例如~/virtualenvs
,然后用virtualenvwrapper来来回切换之间。
有没有做这个正确的方式?
很多人用virtualenvwrapper工具,保持在同一个地方的所有virtualenvs(在~/.virtualenvs
目录),并允许快捷方式创建和保持他们那里。 例如,你可以这样做:
mkvirtualenv djangoproject
再后来:
workon djangoproject
这可能是一个坏主意,让的virtualenv目录中的项目本身,因为你不想分发(它可能是特定于您的计算机或操作系统)。 相反,使用保持requirements.txt文件点子 :
pip freeze > requirements.txt
和分发。 这将允许其他人使用你的项目重新安装所有相同的要求纳入其用的virtualenv:
pip install -r requirements.txt
改变位置的的virtualenv目录弄坏
这是把目录库树,如在外面的一个主要优点~/.virtualenvs
与virutalenvwrapper
。
否则,如果你把它在项目树中,移动项目位置将打破的virtualenv。
请参阅: 重命名文件夹的virtualenv不破坏它
有--relocatable
但已知的是,不是完美的。
另一个小的优势:你不需要.gitignore
它。
如果不是因为这一点,我刚刚离开我virtualenvs项目树本身gitignored保持相关的东西并拢。
这是好的,因为你,你可能永远都不会重复使用跨项目给定的virtualenv。
普遍接受的地方,把他们的是,virtualenvwrapper的默认安装使他们在同一个地方: ~/.virtualenvs
相关:virtualenvwrapper是一个优秀的工具,它提供速记为共同的virtualenv命令。 http://www.doughellmann.com/projects/virtualenvwrapper/
如果您使用pyenv install Python
,然后pyenv-的virtualenv将是一个最佳实践。 如果设置.python-version
文件,它可以自动启动,或者当您更改工作文件夹禁用虚拟ENV。 Pyenv-virtualenv
也把所有的虚拟ENV到$HOME/.pyenv/versions
文件夹中。