簡體   English   中英

無法從site-packages目錄加載通過pip安裝的Python模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM