[英]Python No module Error with Visual Studio 2013
我正在嘗試在 Visual Studio 2013 上運行一些 python 3.4 示例。當我嘗試從父文件夾import
某個模塊並從 Visual Studio 2013 內部運行它時,我總是遇到ImportError: No module named 'foo'
但是,當我使用 python 命令python boo.py
從控制台運行它時,它執行得很好。
例如,這是我的項目結構
myproject/
foo.py
__init__.py
koo/
boo.py
__init__.py
foo.py
內容是
def do1():
print('Inside foo module')
boo.py
內容是
import sys
sys.path.append("..")
import foo
foo.do1()
我想,這個問題與 Visual Studio 無關,也與為什么它在 VS 中不起作用有關。 真正的問題是它為什么在終端中工作。 可能是因為終端運行在不同的環境設置下,python解釋器可以找到父目錄,從而找到foo.py:
當導入名為 spam 的模塊時,解釋器首先搜索具有該名稱的內置模塊。 如果未找到,它將在變量 sys.path 給出的目錄列表中搜索名為 spam.py 的文件。 sys.path 從這些位置初始化:
包含輸入腳本的目錄(或當前目錄)。
PYTHONPATH(目錄名稱列表,與 shell 變量 PATH 具有相同的語法)。
初始化后,Python 程序可以修改 sys.path。 包含正在運行的腳本的目錄位於搜索路徑的開頭,在標准庫路徑之前。 這意味着將加載該目錄中的腳本而不是庫目錄中的同名模塊。 這是一個錯誤,除非更換是有意的。 有關更多信息,請參閱標准模塊部分。
因此,將父目錄添加到 pythonpath,它將起作用。 或者修改 sys.path 添加父目錄。
試試這個它對我有用:
import sys
sys.path.append("Folder PATH"). "Folder PATH" given as...C:\\Working_directory\\VSProject
import <MODULE_NAME>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.