2017-10-05 95 views
0

由於某些原因,我無法導入我自己的模塊import module在Pycharm中爲Python自定義模塊導入錯誤

IDE:Pycharm,Python版本:3

文件:

projectname/scr/test1.py 
projectname/scr/test2.py 

test1.py:

def print_value(x) 
    print x 

test2.py:

import test1 

value = 5 
test1.print_value(value) 

Pycharm編輯器顯示我有以下錯誤。

import test1 # Error: No module named test1 

但是,當我運行代碼(python test2.py),它工作正常。唯一的問題是我沒有得到有關test1函數或變量的建議,比如當我輸入test時,沒有任何東西彈出來作爲建議。這是從pycharm有點奇怪的行爲。

但是,如果我將這些文件向上移動到文件夾層次結構中的順序,那麼一切正常,沒有錯誤和適當的建議時,我輸入test1.something。

文件:

projectname/test1.py 
projectname/test2.py 

任何解釋這樣做呢?爲什麼它不在src文件夾中工作?

更新: 通過標記srcroot sources這個StackOverflow的question啓發解決了這個問題。我仍然不明白爲什麼發生這種情況,爲什麼將這個目錄設置爲根源可以解決這個問題,但它現在可以工作。

+0

__init__.py在scr中可用? – Sosel

+0

@Sosel是的,它可以在src文件夾中找到。 – utengr

+0

運行test3.py時sys.path中有什麼?此外,它是__init__.py,不是init.py –

回答

0

通過將src標記爲受此StackOverflow question啓發的根源解決了此問題。我仍然不明白爲什麼發生這種情況,爲什麼將這個目錄設置爲根源可以解決這個問題,但它現在可以工作。

0

模塊位於同一位置應該沒有任何問題

0
import sys 
sys.path.insert(0,'projectname/scr') 
from test1 import anything 

我認爲需要進口,這可以幫助你。通過將此路徑插入索引爲0的可用路徑,您可以輕鬆地調用您的模塊。

相關問題