我正在尝试设置我的PYTHONPATH
和PYTHONHOME
变量,但无法弄明白!
尝试运行python
时,我收到错误No module named site
。
在做了一些研究后,似乎这是因为这些PYTHONPATH
和PYTHONHOME
环境变量设置不正确。
当我在取消设置这两个变量后尝试运行python
时,它能够正常运行。但问题是这只能持续virtualenv
的生命。停止virtualenv
并再次运行后,问题又回来了。
我说的是virtualenv
,但实际上这是我在Heroku上的环境。
如何永久取消设置这些变量?
更新:我按照tutorial here进行了操作。
答案 0 :(得分:0)
引用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。
执行此操作的一种方法是将PYTHONPATH
变量添加到本地用户或系统环境。详细了解PYTHONPATH
,PYTHONHOME
和其他Python-related environment variables in the Python Documentation。
答案 1 :(得分:0)
您为什么需要这样做?
在Heroku中,当您选择python Buildpacks时,这些变量将自动设置,并且您可以在dyno中从Heroku CLI运行任何python脚本。
答案 2 :(得分:-1)
当尝试运行python时,我收到错误No module named site。 在做了一些研究后,似乎这是因为这些PYTHONPATH和PYTHONHOME环境变量设置不正确。
这听起来像是正确的答案。您需要弄清楚这些变量当时具有的值, 应具有的值,以及您环境中的现有过程是设置那些变量是错误的值。
所有这些只能通过检查你的环境来回答,祝你好运: - )