python - virtualenv 中的配置位置

标签 python configuration virtualenv standards

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

对于 Linux 有 /etc 用于用户内容有 XDG_CONFIG_HOME (~/.config) 但对于 virtualenv ...?

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

最佳答案

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

1。 postactivate 使用 virtualenvwrapper

我总是自己在 postactivate 文件中完成此操作。在这种方法中,您可以直接在该文件中定义环境变量(我的偏好),也可以在项目目录中的单独文件中定义环境变量,您在 postactivate 文件中 source。具体来说,这实际上是 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,它会在您 cd 进入项目目录时自动获取 .env。我不再经常使用这个了。

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 中没有对此进行详细讨论,我感到有些惊讶。 .也许我们可以根据这个问题生成一个关于它的拉取请求。

关于python - virtualenv 中的配置位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37036193/

相关文章:

ubuntu - 如何更改 Ubuntu 中 Komparator 的默认语言?

MYSQL:从命令行检查正在使用的数据文件

ansible - 通过 ansible shell 找不到 Virtualenvwrapper mkvirtualenv 命令

python - 从正在运行的 Python3 session 中激活 virtualenv

python - 带有核心部分的命名空间包?

python - python中的dict() vs {}哪个更好?

.NET:缺少必需的配置设置时抛出哪个异常?

python - Anaconda 和 jupyter 笔记本 : How to switch the used virtual environment?

python - 重命名西里尔文件名

python - 从字符串列表中删除前缀引号