2017-03-27 153 views
-1

正在使用自動化Boring Stuff項目,並且遇到pyperclip和IDLE問題。 pyperclip已成功下載並且在終端中正常工作,但是當我在IDLE中導入pyperclip時,出現以下錯誤。在IDLE中不工作的Python模塊

更新 - 這發生在其他模塊 - 我在終端中安裝的任何東西都不會導入到IDLE中。

進口pyperclip 回溯(最近通話最後一個): 文件「」,1號線,在 進口pyperclip ModuleNotFoundError:無模塊名爲「pyperclip」

我想我已經保存在錯誤的模塊莫名其妙。下面是我的終端和IDLE的sys.path輸出。

在終端:

'/水蟒/ bin中', '//anaconda/lib/python36.zip', '//anaconda/lib/python3.6', 「//水蟒/ lib/python3.6/lib-dynload', '//anaconda/lib/python3.6/site-packages', '//anaconda/lib/python3.6/site-packages/Sphinx-1.5.1- py3.6.egg', '//anaconda/lib/python3.6/site-packages/aeosa', '//anaconda/lib/python3.6/site-packages/IPython/extensions', '/ Users/andrewricardo/.ipython']

在IDLE中:

sys.path ['','/ Users/andrewricardo/Documents','/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip','/ Library/Frameworks /Python.framework/Versions/3.6/lib/python3.6','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload','/Library/Frameworks/Python.framework /Versions/3.6/lib/python3.6/site-packages']

這裏有多條路徑 - 我如何有效地將pyperclip模塊移動到正確的位置?

或者 - 這裏還有其他事情嗎?

+0

這是一個重複的問題,但我的答案在這裏給出了新的信息,並提供了針對這種情況的詳細信息。 –

+0

這個問題實際上是關於多個python安裝,而不是關於IDLE。有可能anaconda python也有IDLE,並且它可以爲你工作。我的答案是如何在框架python中使用包的問題。 –

回答

0

每個python安裝和第三方模塊使用自己的.../lib/site-packages,你有兩個。如果你在終端運行non-anaconda python,運行IDLE的時候會出現同樣的問題。的確,那個python是ImportErrors的來源。

選項1:將您想要使用的所有包與non-anaconda python(和IDLE)分別安裝到它自己的站點包目錄中。在IDLE Shell中,獲取其可執行文件的路徑

>>> import sys; sys.executable 

保存記得產生的'python-path'。然後,在終端中,運行

蟒路徑-m點子爲每個包安裝程序包名稱

選項2(使用站點包目錄的小已知特徵):在

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages 

添加一個文件名,例如,anaconda.pth,包含一行。

//anaconda/lib/python3.6/site-packages 

(我不知道爲什麼雙/或是否真正需要它,我只是從你的問題把它抄了)這使得水蟒蟒站點包框架的Python站點包的擴展。由於這兩個版本都是3.6版本,所以兩份都應該有效。