Python debian中的Virtualenv和代码位置

Python debian中的Virtualenv和代码位置,python,debian,virtualenv,Python,Debian,Virtualenv,我正在研究debian和virtualenv,我想知道人们会推荐什么目录结构。从我的阅读来看,这似乎是个好主意: 代码: var/www//src 虚拟电视: var/www/<projectname>/venv /home/username/Projects/Foogram/.venv var/www//venv 有人能在这方面做得更好吗,或者请给我指出正确的方向吗?如果你打算做一个简单的项目,你建议的目录就可以了。对于大型或长期项目,您可能需要使用某种SCM工具,如git

我正在研究debian和virtualenv,我想知道人们会推荐什么目录结构。从我的阅读来看,这似乎是个好主意:

代码:

var/www//src
虚拟电视:

var/www/<projectname>/venv
/home/username/Projects/Foogram/.venv
var/www//venv

有人能在这方面做得更好吗,或者请给我指出正确的方向吗?

如果你打算做一个简单的项目,你建议的目录就可以了。对于大型或长期项目,您可能需要使用某种SCM工具,如git或mercurial。如果您确实想使用SCM工具,那么最好将虚拟环境放在另一个目录中,这样它就不会包含在SCM存储库中

将虚拟环境放在存储库中通常是不必要的。Python有像pip这样的方便工具来保存包列表,并可以轻松地将它们安装到另一个虚拟环境中

将虚拟环境包与

使用从requirements.txt安装软件包


推荐 假设您使用git for SCM,代码可能在

/home/jimmy/git/<projectname>
/home/jimmy/git/
虚拟环境可以位于

/home/jimmy/venv/<projectname>
/home/jimmy/venv/

在我们公司,每个用户的主页下都有一个项目目录,类似于:

/home/username/Projects
此目录包含所有当前项目,假设您要检查Foogram项目,它将位于:

/home/username/Projects/Foogram
virtualenv在项目文件夹中创建,作为.venv目录,因此以下目录包含virtualenv:

var/www/<projectname>/venv
/home/username/Projects/Foogram/.venv
现在,您肯定希望使用分布式版本控制系统,如Git或Mercurial。将venv和二进制文件放在DVCS下通常是个坏主意,因此您应该添加一个规则,以避免将.venv目录添加到存储库中。使用Mercurial,您可以通过编辑.hgignore文件来实现这一点。您可以通过执行以下操作来实现:

nano /home/username/Projects/Foogram/.hgignore
添加以下行:

.venv/*
这将忽略.venv目录及其内部的所有内容。您可能还应该花时间将以下规则添加到.hgignore

*.pyc
*.*~
*.log
*.orig

这些规则将帮助您保持存储库的正常状态。

好的,那么在这种情况下,venv和代码的查找位置在哪里?我通常将代码放在git repository/home//git//中。我的虚拟环境位于/home//venv/。
*.pyc
*.*~
*.log
*.orig