xx.xx导入中的Python导入错误*:没有名为
以下是我的文件结构:xx.xx导入中的Python导入错误*:没有名为,python,python-2.7,Python,Python 2.7,以下是我的文件结构: -test --m1 ---t.py --m2 ---__init__.py ---utils.py t、 py: utils.py: def foo(): return 5 __init_uu;.py为空 它在我的本地环境中工作(macOS Sierra python 2.7.10): 但是,它在我的服务器(Python 2.7.8)中不起作用: [shangton@jasper测试]$python m1/t.py 回溯(最近一次呼叫最后一次): 文件“
-test
--m1
---t.py
--m2
---__init__.py
---utils.py
t、 py:
utils.py:
def foo():
return 5
__init_uu;.py为空
它在我的本地环境中工作(macOS Sierra python 2.7.10):
但是,它在我的服务器(Python 2.7.8)中不起作用:
[shangton@jasper测试]$python m1/t.py
回溯(最近一次呼叫最后一次):
文件“m1/t.py”,第1行,在
从m2.utils导入*
ImportError:没有名为m2.utils的模块
[shangton@jasper测试]$ls-al
总数16
drwxrwxr-x 4尚顿尚顿4096年1月28日09:10。
drwx-----4尚顿尚顿4096年1月28日10:09。。
drwxrwxr-x 2尚顿尚顿4096年1月28日09:12 m1
drwxrwxr-x 2尚顿尚顿4096年1月28日10:09平方米
[shangton@jasper测试]$echo$PYTHONPATH
/global/software/python/python-2.7.8/lib/python2.7/site packages/:/global/software/python/python-2.7.3/lib/python2.7/site packages/:~/PaperReplication/:~/test/m2:~/test
您正在演示PYTHONPATH包含:
~/test/m2:~/test
但是,~
实际上不是有效的路径组件!这是对shell的一个提示,提示您将该字符替换为主目录(在不带引号的情况下,在单词的第一个位置,或者在满足其他条件的情况下)——但是Python不是您的shell,并且如果您的shell在设置环境变量时不遵守该提示(也许是因为处于一个字符串的中间,它不是处于领先地位),除非Python显式调用<代码> OS.PosieUpServer()/<代码> > ,否则它将不被尊重。
设置环境变量时,请使用$HOME
:
PYTHONPATH=$HOME/test
如果您有一个
m1/\uu init\uuuuuuuuupy
,您可以运行python-m m1.t
…或者如果您设置PYTHONPATH=$PWD
,那么这应该可以立即按照您的意愿工作。~
不能保证扩展--在设置环境变量时使用$HOME
,而不是~/code>。python可以手动执行--有一个库函数的作用——但许多程序都不会。@CharlesDuffy It works!ThanksIt works.谢谢!请您再解释一件事:为什么它在我的本地环境中工作?在您的本地环境中,PYTHONPATH中没有~
。
[shangton@jasper test]$ python m1/t.py
Traceback (most recent call last):
File "m1/t.py", line 1, in <module>
from m2.utils import *
ImportError: No module named m2.utils
[shangton@jasper test]$ ls -al
total 16
drwxrwxr-x 4 shangton shangton 4096 Jan 28 09:10 .
drwx------ 4 shangton shangton 4096 Jan 28 10:09 ..
drwxrwxr-x 2 shangton shangton 4096 Jan 28 09:12 m1
drwxrwxr-x 2 shangton shangton 4096 Jan 28 10:09 m2
[shangton@jasper test]$ echo $PYTHONPATH
/global/software/python/Python-2.7.8/lib/python2.7/site-packages/:/global/software/python/Python-2.7.3/lib/python2.7/site-packages/:~/PaperReplication/:~/test/m2:~/test
~/test/m2:~/test
PYTHONPATH=$HOME/test