簡體   English   中英

Visual Studio 2013 中的 Python 無模塊錯誤

[英]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.

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