使用Heroku设置PYTHONPATH和PYTHONHOME
我正在尝试设置我的使用Heroku设置PYTHONPATH和PYTHONHOME,python,django,heroku,Python,Django,Heroku,我正在尝试设置我的PYTHONPATH和PYTHONHOME变量,但无法解决它 当尝试运行python时,我得到错误没有名为site的模块 在做了一些研究之后,似乎这是因为这些PYTHONPATH和PYTHONHOME环境变量设置不正确 当我在取消设置这两个变量后尝试运行python时,它能够正常运行。但问题是,这只会持续到我的virtualenv的生命周期。在我停止virtualenv并再次运行它之后,问题又出现了 我说的是virtualenv,但实际上这是我在Heroku上的环境 如何永久取
PYTHONPATH
和PYTHONHOME
变量,但无法解决它
当尝试运行python
时,我得到错误没有名为site的模块
在做了一些研究之后,似乎这是因为这些PYTHONPATH
和PYTHONHOME
环境变量设置不正确
当我在取消设置这两个变量后尝试运行python
时,它能够正常运行。但问题是,这只会持续到我的virtualenv
的生命周期。在我停止virtualenv
并再次运行它之后,问题又出现了
我说的是virtualenv,但实际上这是我在Heroku上的环境
如何永久取消设置这些变量
最新消息:我遵循了似乎能奏效的方法
当尝试运行python时,我得到错误No module named site。
在做了一些研究之后,似乎这是因为这些PYTHONPATH和PYTHONHOME环境变量设置不正确
这听起来是正确的答案。您需要弄清楚这些变量当时有哪些值,它们应该有哪些值,以及您环境中的现有过程正在将这些变量设置为错误的值
所有这些都只能通过检查您的环境来回答,因此祝您好运:-)参考上述解决方案:
在Heroku上,您的主目录通常为“/app”。你应该确认一下
通过运行以下命令可以执行此操作:
$heroku run env|grep HOME
主页=/app
在Heroku环境中调整Python路径的一种简单方法(不干扰应用程序)是设置PYTHONPATH env变量,如下所示:
$heroku配置:添加PYTHONPATH=/app
要确认其设置正确,
运行:
$heroku运行环境| grep PYTHONPATH
PYTHONPATH=/app
现在,您可以运行自定义管理命令。这还允许您将这些作为cron(计划)任务运行:
$heroku运行python your_app/manage.py your_custom_命令
成功!
请注意,添加(或创建)PythonPath对于大多数Python环境都是有效的,不仅仅是Heroku,您还需要确定如何为给定环境添加PythonPath
一种方法是将PYTHONPATH
变量添加到本地用户或系统环境中。阅读更多关于PYTHONPATH
、PYTHONHOME
和其他的信息。为什么需要这样做
在Heroku中,当您选择python构建包时,这些变量被设置为自动,您可以从动态数据库中的Heroku CLI运行任何python脚本。如果PYTHONPATH
设置不正确,这可能更像是Heroku的问题,而不是python的问题,弄清楚PYTHONPATH
应该是什么,查看Heroku的配置文档,了解如何设置:您可以尝试动态设置PYTHONPATH
和PYTHONHOME
,以便在每次程序运行时都进行设置。我觉得我们没有足够的信息来回答这个问题。你没有给我们看stacktrace,也没有回复“答案”说你需要找出这些变量的值。也许有人可以从你的更新链接中推断出一个不错的答案。