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