gpt4 book ai didi

python - pyenv-virtualenv 中的环境变量

转载 作者:行者123 更新时间:2023-12-04 03:56:35 30 4
gpt4 key购买 nike

我用 pyenv virtualenv 3.5.9 projectname 创建了一个虚拟环境用于开发 Django 项目。
如何为我的代码设置环境变量以供使用?
我试图在 /Users/developer/.pyenv/versions/projectname/bin/activate 中添加环境变量 DATABASE_USER
像这样:

export DATABASE_USER="dbuser"
当我尝试 echo $DATABASE_USER打印一个空字符串。
尝试安装 zsh-autoenv
现在我可以 echo $DATABASE_USER并获取 .autoenv.zsh 文件中设置的值。
但我似乎无法让环境变量对我的 Django 代码可用:
如果我尝试 os.getenv('DATABASE_USER', '')在 virtualenv 内的 python shell 中,我得到 ''可能有什么问题? zsh-autoenv 变量是否仅适用于 zsh shell 而不是 python manage.py shell ?

最佳答案

我想知道类似的事情,我偶然发现了一个 reddit thread其他人曾问过同样的问题,最终 followed up注意到一些有趣的发现。
如您所见,pyenv似乎没有实际使用 bin/activate文件。他们没有说激活方法是什么,但是和你一样,在那里添加环境变量没有结果。
最后,他们安装了 autoenv ,它自称为基于目录的环境。它允许你在你的目录中创建一个 .env 文件,当你 cd到那个目录,它运行 .env 文件。您可以将它用于环境变量,也可以向其中添加任何其他内容。
我在 autoenv 页面上注意到他们说你应该使用 direnv相反,因为它具有更好的功能和更高质量的软件。这些都不是 Python 或 pyenv 特定的,如果您从目录外部调用您的 Python 代码,它们可能无法工作。由于您使用的是 pyenv,因此无论如何您都可能在目录中运行您的代码,因此我认为其中任何一个都可以正常工作。

关于python - pyenv-virtualenv 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63779259/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com