[英]Can't load Python modules installed via pip from site-packages directory
我正在嘗試安裝和使用Evernote模塊( https://github.com/evernote/evernote-sdk-python )。 我運行了pip install evernote
,它說安裝有效。
我可以確認Evernote模塊存在於/usr/local/lib/python2.7/site-packages
。 但是,當我嘗試運行python -c "import evernote"
,出現以下錯誤:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named evernote
這是我的.bash-profile
的內容:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
# Setting PATH for Python 3.3
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}"
export PATH
export PATH=$PATH:/usr/local/bin/
我在pip
安裝的其他模塊也遇到了同樣的問題。 救命?
編輯:我是一個超級新手,還沒有編輯該.bash-profile
文件。
編輯: python -c 'import sys; print "\\n".join(sys.path)'
python -c 'import sys; print "\\n".join(sys.path)'
輸出以下內容:
/Library/Python/2.7/site-packages/setuptools-1.3.2-py2.7.egg
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC
/Library/Python/2.7/site-packages
編輯:通過向我的.bash_profile
文件中添加export PYTHONPATH=“/usr/local/lib/python2.7/site-packages”
,我似乎在解決方案方面取得了進展。 但是,現在,當我運行python -c 'from evernote.api.client import EvernoteClient'
它嘗試導入oauth2,但失敗並出現相同的錯誤。 ouath2模塊位於模塊目錄中。
/usr/bin/python
是OS X隨附的python的可執行文件。/ /usr/local/lib
是僅用於用戶安裝程序的位置,可能來自Python.org或Homebrew。 因此,您要混合使用不同的Python安裝,並且針對不同的安裝所安裝的不同軟件包,更改python路徑只是部分解決方法。
為了確保您使用與特定python相關聯的pip
,可以運行python -m pip install <pkg>
,或者查看路徑上的pip
是什么或被符號鏈接到。
我想到了! 我添加了這一行:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
到我的.bash_profile
,現在我可以導入存儲在該目錄中的模塊了。 感謝所有回答的人。
我遇到了類似的問題,它與/usr/local/lib/python2.7/site-packages有關,沒有對group和other的讀寫權限,並且它們是root用戶擁有的。 這意味着只有root用戶才能訪問它們。
嘗試這個:
$ sudo chmod -R go+rX /usr/local/lib/python2.7/site-packages
這些都沒有幫助我解決類似的問題。 相反,我必須修復新安裝的文件權限才能導入。 這通常是顯而易見的事情,但是在安裝模塊/軟件包時使用sudo
時並沒有那么多。
只需輸入終端:
sudo pip install pillow
然后輸入import
(無論您喜歡什么)或from
(無論您喜歡什么) import
(無論您喜歡什么)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.