在 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。 .env
和 autoenv
独立于 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/