簡體   English   中英

Python-ImportError:未命名模塊

[英]Python - ImportError: No module named

我有以下目錄結構:

img_search
   --- server
       --- __init__.py
       --- server_flask.py
   --- tests
       --- __init__.py
       --- test_kdtree.py
       --- test_distance_matrix.py
   --- __init__.py
   --- kdtree.py
   --- distance_matrix.py

__init__.py的服務器和測試都是空的__init__.py在img_search包含以下代碼:

from img_search import distance_matrix, kdtree

我使用以下導入在server_flask.py中使用來自kdtree的類:

from img_search import kdtree

當我在PyCharm中運行server_flask.py時 ,它可以正常工作,但是在終端中運行時,出現錯誤。

追溯(最近一次通話): File "server_flask.py", line 2, in <module>

from img_search import kdtree

ImportError: No module named img_search

我怎樣才能解決這個問題? 先感謝您

我想您有一些有意義的理由可以這樣做,但它不必看起來像這樣。

通常,模塊應該提供一些功能,並且與提供某些API的一個包或庫一樣,是一致的。

換句話說,應該避免:

python server_flask.py

要么

python img_search/server/server_flask.py

但這完全沒問題:

python main.py

main.py具有某種:

from img_search.server import server_flask
# Do something if needed

祝你有個好的一天!

如果您確實需要這樣做,另一種選擇是將path弄亂。 在您的server_flask.py添加以下行:

import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))

sys.path.append將增加的路徑通過,會發現一個模塊的位置join荷蘭國際集團dirnameserver_flask.py __file__及其../..目錄。 我們來了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM