在virtualenv中配置的位置

gue*_*tli 6 python configuration standards virtualenv

在python virtualenv中存储配置的公共位置/目录在哪里?

对于Linux,有/etc用户的东西XDG_CONFIG_HOME(〜/ .config)但是对于virtualenv ...?

我知道我可以将我的配置存储在我想要的任何位置,但也许有一个共同的位置,这使我的应用程序更容易被python专家理解.

Tay*_*ton 5

所以我认为这是最常见的方法......

1.postactivate使用 virtualenvwrapper

我自己一直在postactivate文件中这样做。在这种方法中,您可以直接在该文件中定义环境变量(我的偏好),也可以source在您在 postactivate 文件中的项目目录中的单独文件中定义环境变量。具体来说,这实际上是 virtualenvwrapper 的一部分,而不是 virtualenv 本身。

http://virtualenvwrapper.readthedocs.io/en/latest/scripts.html#postactivate

(如果你想真正干净,你也可以在postdeactivate文件中取消设置你的环境变量。)

或者,您可以直接在activate文件中执行此操作。我发现这种方法不太理想,因为那里还有其他事情要做。

https://virtualenv.pypa.io/en/latest/userguide.html#activate-script

我还使用过的两种流行的替代方法是:

2..envautoenv

独立于 virtualenv,解决同一问题的另一种方法是 Kenneth Reitz 的 autoenv,它会.env在您 cd 进入项目目录时自动获取 a 。我不再使用这个了。

https://github.com/kennethreitz/autoenv

3..env用Python解耦

如果您只需要 Python 代码的环境变量(而不是,例如,在项目内的 shell 脚本中),那么 Python Decouple 是一种相关方法,它.env在项目的根目录中使用一个简化的文件。这些天我发现自己越来越多地使用它。

https://github.com/henriquebastos/python-decouple/


看到The Hitchhiker's Guide to Python-Virtual Environments 中没有详细讨论这一点,我感到有些惊讶。也许我们可以从这个问题生成一个关于它的拉取请求。