我将PYTHONPATH设置为包含几个.py文件的目录。

当我进入python并键入“导入文件”时,找不到该文件(它说“没有名为wsj10的模块”)。

但是,如果我将CD转到该目录,然后重复相同的过程,则将找到该文件。

我只是不确定为什么PYTHONPATH被忽略。我遵循某些软件的安装说明中的确切说明,所以我知道我做对了。

在什么情况下会忽略PYTHONPATH或导入将不起作用?

谢谢。

在下面的评论之后,这里是笔录:


解压file1.tgz到file1 /。 file1.tgz包含一个名为file1.py的库/文件。
在外壳中输入:

export PYTHONPATH=`pwd`/file1/:./

echo $PYTHONPATH显示已设置变量。
运行python并输入“ import file1”


我得到错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named file1


如果我先执行“ cd file1”,然后再导入file1,它将标识该文件。

最佳答案

在什么情况下会忽略PYTHONPATH或导入将不起作用?


是。我已经在/home/me/.bashrc中设置了PYTHONPATH,并且在终端上都可以正常工作,但是当Apache w / mod_wsgi启动我的python脚本时,它在sysem或专用用户下运行,而我对.bashrc一无所知。

对于这种特殊情况,我只是使用apache config来设置apache的python路径(WSGIPythonPath选项)。

关于python - 为什么PYTHONPATH被忽略?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15461452/

10-13 07:40