![](/img/trans.png)
[英]Python Import class error, trying to understand the root directory __init__.py
[英]Error when trying to import script in root directory
我有以下目錄結構:
├── __init__.py
├── http
│ ├── __init__.py
│ ├── web.py
└── test
├── __init__.py
├── app.py
在app.py文件中:
from http import web
當我嘗試運行時(在根目錄中):
python test/app.py
我收到以下錯誤:
ImportError: no module named http
我知道我可以使用:
python -m test.app
但是,還有另一種方法嗎?
當您運行python path/to/script.py
,python將包含script.py
的目錄添加到模塊搜索路徑,但不會神奇地添加其他任何內容。 因此,當您運行python test/app.py
且app.py
嘗試import http
,找不到該位置,因為http
模塊不在搜索路徑中的任何位置。 解決此問題的簡單方法是:
PYTHONPATH=$PWD python test/app.py
這會將您的當前目錄添加到模塊搜索路徑。 假設當前目錄是包含http
模塊的目錄,這將允許app.py
成功導入http
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.