设置PYTHONPATH和PYTHONHOME

时间:2012-05-20 16:50:09

标签: python django

我正在尝试设置我的PYTHONPATHPYTHONHOME变量,但无法弄明白!

尝试运行python时,我收到错误No module named site

在做了一些研究后,似乎这是因为这些PYTHONPATHPYTHONHOME环境变量设置不正确。

当我在取消设置这两个变量后尝试运行python时,它能够正常运行。但问题是这只能持续virtualenv的生命。停止virtualenv并再次运行后,问题又回来了。

我说的是virtualenv,但实际上这是我在Heroku上的环境。

如何永久取消设置这些变量?

更新:我按照tutorial here进行了操作。

3 个答案:

答案 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变量添加到本地用户或系统环境。详细了解PYTHONPATHPYTHONHOME和其他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环境变量设置不正确。

这听起来像是正确的答案。您需要弄清楚这些变量当时具有的值, 应具有的值,以及您环境中的现有过程是设置那些变量是错误的值。

所有这些只能通过检查你的环境来回答,祝你好运: - )