我發現導入Python模塊複雜,所以我正在做實驗來清除它。這裏是我的文件結構:ImportError:沒有模塊命名包
內容__init__.py
PythonTest/
package/
__init__.py
test.py
:
內容的test.py
package = 'Variable package in __init__.py'
from package import test
:
from package import package
print package
當我留出package
(在PythonTest
),並執行python package/test.py
,我得到:
Traceback (most recent call last):
File "package/test.py", line 1, in <module>
from package import package
ImportError: No module named package
期望的輸出是Variable package in __init__.py
。我究竟做錯了什麼?
不過,我可以得到預期的輸出在交互模式:
sunqingyaos-MacBook-Air:PythonTest sunqingyao$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import package
Package in __init__.py
它看起來並不像模塊搜索路徑設置爲'package'包是可找到的。 – user2357112
@ user2357112所以我應該設置'PYTHONPATH'或修改'sys.path'?但爲什麼在交互模式下一切都好? –
我假設你從與你的文件相同的目錄開始交互模式,以便路徑自動成爲搜索路徑的一部分。嘗試從完全不同的目錄中啓動python – WombatPM