使用Heroku设置PYTHONPATH和PYTHONHOME

yizd12fk  于 2022-11-13  发布在  Python
关注(0)|答案(3)|浏览(168)

我试图设置我的PYTHONPATHPYTHONHOME变量,但无法解决!
当尝试运行python时,我得到错误No module named site
在做了一些研究之后,似乎这是因为这些PYTHONPATHPYTHONHOME环境变量没有正确设置。
当我尝试在取消设置这两个变量后运行python时,它能够正常运行。但问题是这只会持续我的virtualenv的生命周期。当我停止virtualenv并再次运行它时,问题又回来了。
我说的是virtualenv,但实际上这是我在Heroku上的环境。
如何永久取消设置这些变量?
更新:我遵循了tutorial here,它似乎做到了这一点。

vq8itlhq

vq8itlhq1#

blog post中引用作为解决方案:
在Heroku上,您的主目录通常是“/app”。您应该通过运行以下命令来确认:

$ heroku run env | grep HOME
HOME=/app

在Heroku环境中调整Python路径的一个简单方法(不要干扰应用程序)是按如下方式设置PYTHONPATH env变量:

$ heroku config:add PYTHONPATH=/app

要确认是否已正确设置,请运行:

$ heroku run env | grep PYTHONPATH
PYTHONPATH=/app

现在您可以运行自定义的管理命令。这也允许您将这些任务作为cron(计划的)任务来运行:

$ heroku run python your_app/manage.py your_custom_command
Success!

请注意,添加(或创建)PythonPath对大多数Python环境都有效,而不仅仅是Heroku,但是您需要确定如何为您的给定环境添加。
一种方法是在本地用户或系统环境中添加一个PYTHONPATH变量。在Python文档中阅读更多关于PYTHONPATHPYTHONHOME和其他Python相关环境变量的信息。

6mzjoqzu

6mzjoqzu2#

你为什么要这么做?
在Heroku中,当您选择python Buildpacks时,这些变量会自动设置,您可以在dyno中从Heroku CLI运行任何python脚本。

8hhllhi2

8hhllhi23#

当试图运行python时,我得到错误No module named site,在做了一些研究后,似乎这是因为这些PYTHONPATH和PYTHONHOME环境变量没有正确设置。
这听起来像是正确的答案。你需要弄清楚那些变量当时有 * 什么值 *,它们 * 应该 * 有什么值,以及你的环境中的什么现有过程将那些变量 * 设置 * 为错误的值。
所有这些都只能通过检查你的环境来回答,所以祝你好运:-)

相关问题