Debian中的Virtualenv和代码位置
Posted
技术标签:
【中文标题】Debian中的Virtualenv和代码位置【英文标题】:Virtualenv and code location in debian 【发布时间】:2014-04-03 17:17:16 【问题描述】:我正在研究 debian 和 virtualenv,我想知道人们会推荐什么目录结构。从我的阅读来看,这似乎是个好主意:
代码:
var/www/<projectname>/src
虚拟环境:
var/www/<projectname>/venv
谁能在这方面做得更好,或者请给我指出正确的方向?
【问题讨论】:
【参考方案1】:在我们公司,每个用户的主目录下都有一个 Projects 目录,类似于:
/home/username/Projects
此目录包含所有当前项目,假设您要检查 Fooogram 项目,它位于:
/home/username/Projects/Foogram
virtualenv 是在项目文件夹中创建的,作为 .venv 目录,因此以下目录包含 virtualenv:
/home/username/Projects/Foogram/.venv
现在,您肯定希望使用 DVCS(分布式版本控制系统),例如 Git 或 Mercurial。将 venv 和二进制文件放在 DVCS 下通常是一个坏主意,因此您应该添加一条规则以避免将 .venv 目录添加到存储库中。使用 Mercurial,您可以通过编辑 .hgignore 文件来实现此目的。你可以这样做:
nano /home/username/Projects/Foogram/.hgignore
添加以下行:
.venv/*
这将忽略 .venv 目录以及其中的所有内容。您可能还应该花时间将以下规则添加到 .hgignore:
*.pyc
*.*~
*.log
*.orig
这些规则将帮助您保持存储库的健全。
【讨论】:
【参考方案2】:如果您打算做一个简单的项目,您建议的目录会很好。对于大型或长期项目,您可能希望使用某种 SCM 工具,例如 git 或 mercurial。如果您确实想使用 SCM 工具,最好将虚拟环境放在另一个目录中,这样它就不会包含在您的 SCM 存储库中。
将虚拟环境放入存储库中通常是不必要的,因为answered here。 Python 有 pip 等方便的工具来保存包列表,并轻松地将它们安装在另一个虚拟环境中。
用pip freeze输出虚拟环境包
pip freeze > requirements.txt
使用 pip install 从 requirements.txt 安装包
pip install -r requirements.txt
推荐
假设你用git做单片机,代码可能在
/home/jimmy/git/<projectname>
虚拟环境可以位于
/home/jimmy/venv/<projectname>
【讨论】:
好的,那么在这种情况下,venv 和代码的查找位置在哪里? 我的代码通常放在 git 存储库 /home/以上是关于Debian中的Virtualenv和代码位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Debian 中配置 Git 以默认使用 Nano 或 Vim? [复制]
如何配置全局主管以使用 pyenv 和 virtualenv