2011-03-22 45 views
1

我的項目的一般結構是這樣的:pylint的進口和動態路徑修改

projectname/ 
    __init__.py 
    python/ 
     mymodule.py 
    other_stuff/ 
    more_stuff/ 

其中__init__.py包含以下代碼

import os 
mypath = os.path.dirname(os.path.realpath(os.path.abspath(__file__))) 
__path__ = [mypath, mypath+"/python"] 

這種「跳躍」導入時,讓Python代碼的python目錄形式爲from projectname import mymodule而不是from projectname.python import mymodule

然而,這似乎打破了pylint,儘管$PYTHONPATH被正確設置,但無法導入項目中的任何模塊。在projectname中創建軟鏈接projectname -> python修復了一些問題,但不是一個合適的解決方案。

有關如何解決這個問題而不改變目錄結構的任何建議?

回答

3

我覺得你有點卡住了。 Pylint不會處理你的__init__.py文件,所以除非你能找到另一種將這些信息導入到pylint的方式,否則我認爲它不會起作用。祝你好運。

+0

感謝您的答覆 - 我相信您是正確的,沒有很好的方法來解決這個問題。最後我在Makefile規則中解決了這個問題。 – Chiggs 2011-03-24 17:19:30

+1

你能詳細說明你是如何解決這個問題的?我遇到了同樣的問題。謝謝。 – Srikanth 2016-04-01 15:26:01

+0

@Chiggs如果你找到了解決方案我鼓勵你[分享你的知識,問答風格](http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-自己的問題/)來幫助[正在嘗試解決類似問題的其他人](http://stackoverflow.com/q/36359210/5827215) – 2016-04-01 15:35:20