我试图设置我的PYTHONPATH
和PYTHONHOME
变量,但无法解决!
当尝试运行python
时,我得到错误No module named site
。
在做了一些研究之后,似乎这是因为这些PYTHONPATH
和PYTHONHOME
环境变量没有正确设置。
当我尝试在取消设置这两个变量后运行python
时,它能够正常运行。但问题是这只会持续我的virtualenv
的生命周期。当我停止virtualenv
并再次运行它时,问题又回来了。
我说的是virtualenv
,但实际上这是我在Heroku上的环境。
如何永久取消设置这些变量?
更新:我遵循了tutorial here,它似乎做到了这一点。
3条答案
按热度按时间vq8itlhq1#
从blog post中引用作为解决方案:
在Heroku上,您的主目录通常是“/app”。您应该通过运行以下命令来确认:
在Heroku环境中调整Python路径的一个简单方法(不要干扰应用程序)是按如下方式设置PYTHONPATH env变量:
要确认是否已正确设置,请运行:
现在您可以运行自定义的管理命令。这也允许您将这些任务作为cron(计划的)任务来运行:
请注意,添加(或创建)PythonPath对大多数Python环境都有效,而不仅仅是Heroku,但是您需要确定如何为您的给定环境添加。
一种方法是在本地用户或系统环境中添加一个
PYTHONPATH
变量。在Python文档中阅读更多关于PYTHONPATH
,PYTHONHOME
和其他Python相关环境变量的信息。6mzjoqzu2#
你为什么要这么做?
在Heroku中,当您选择python Buildpacks时,这些变量会自动设置,您可以在dyno中从Heroku CLI运行任何python脚本。
8hhllhi23#
当试图运行python时,我得到错误No module named site,在做了一些研究后,似乎这是因为这些PYTHONPATH和PYTHONHOME环境变量没有正确设置。
这听起来像是正确的答案。你需要弄清楚那些变量当时有 * 什么值 *,它们 * 应该 * 有什么值,以及你的环境中的什么现有过程将那些变量 * 设置 * 为错误的值。
所有这些都只能通过检查你的环境来回答,所以祝你好运:-)