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//git// 中。我的虚拟环境在 /home//venv/.

以上是关于Debian中的Virtualenv和代码位置的主要内容,如果未能解决你的问题,请参考以下文章

在virtualenv中使用不同的Python版本

Debian系vi错位的解决方法

如何在 Debian 中配置 Git 以默认使用 Nano 或 Vim? [复制]

如何配置全局主管以使用 pyenv 和 virtualenv

解决 docker 容器 debian 无法使用 vi 编辑器

安装virtualenv后,找不到mkvirtualenv和workon