無法從六個導入任何東西。這兩個行的產生錯誤:無法從Python導入六個庫
from six.moves.urllib.request import urlretrieve
- >Unresolved reference "urlretrieve"
from six.moves import cPickle as pickle
- >Unresolved reference "cPickle"
OSX 10.11.5。 IntelliJ 2016.1.2,PyCharm 2016.1.3,Python 2.7.11,Six 1.10.0。
我做什麼來嘗試解決(每PyCharm shows unresolved references error for valid code和其他職位):
- 交換Python解釋
- 的IntelliJ:刪除文件的想法
- IDE - >的Invalidate緩存/重新啓動
- 用相同的源創建一個全新的項目
- SWitched IDE(IntelliJ - > PyCharm)
- 已驗證六等於電流:
_
$ sudo pip install -U six
Requirement already up-to-date: six in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg
Python的軟件開發工具包我想:
Python 2.7.11 (/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7)
Python 3.5.1 (/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5)
Python 2.7.10 (/usr/local/bin/python2.7)
毫無效果。歡迎來幫忙!謝謝。
---------- Update 23 2016 -------------------------------
從命令行運行「from six.moves ...」導入行不會產生錯誤。命令行調用Python 2.7.11。 PyCharm也使用Python 2.7.11,而PyCharm也顯示有六個可用 - 請參閱第一個屏幕截圖。該項目中沒有.pyc文件,只是main.py。 奇怪的是,main.py在PyCharm中運行時沒有錯誤; 「Hello」行會打印(請參閱第二個屏幕快照)。 此屏幕快照顯示了設置中的項目解釋器: 我仍然難倒了。
---------- Update 2016年5月24日-----------------------------
import six
在代碼和python shell中以及執行後無錯誤地工作,六次。 檔案 = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg/six.pyc
。 但是,PyCharm IDE仍顯示six.moves導入行中的錯誤。
您正在嘗試加載和運行的代碼中顯示的行是?你有沒有試過將這些行輸入到python shell中? –
是的,上面的導入行代碼是我想要運行的代碼。我甚至還沒有輸入操作代碼,我只是試圖讓所有的輸入工作都開始。此代碼來自Google Tensorflow教程。當我將這些行輸入到python shell中時,我沒有收到任何錯誤,所以也許這些只是警告,我可以忽略Burhan在下面提出的建議? –
所以,Burhan告訴你的是,你需要運行知道約6個的Python解釋器才能導入它。顯然,這是你從命令行啓動一個shell時得到的那個。你需要弄清楚如何使PyCharm或IntelliJ或任何你想使用的工具運行知道約6的解釋器導入工作。如果他提到的是緩存問題,那麼錯誤應該隨着緩存重建而消失。嘗試刪除名爲* .pyc的文件和名爲__pycache__的目錄,看看是否有幫助。 –