无法从site-packages目录加载通过pip安装的Python模块
我正在尝试安装和使用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
编辑:我似乎已经通过添加export PYTHONPATH=“/usr/local/lib/python2.7/site-packages”
到我的.bash_profile
文件的解决scheme的进展。 但是,现在当我python -c 'from evernote.api.client import EvernoteClient'
运行python -c 'from evernote.api.client import EvernoteClient'
它试图导入oauth2,失败的错误是相同的。 ouath2模块出现在模块目录中。
/usr/bin/python
是OS X附带的python的可执行文件。/ /usr/local/lib
只是用户安装的程序的一个位置,可能来自Python.org或Homebrew。 所以你要混合不同的Python安装,而改变pythonpath只是针对不同安装所安装的不同软件包的部分解决方法。
为了确保使用与特定python关联的pip
,可以运行python -m pip install <pkg>
,或者查看path上的pip
是什么,或者是符号链接到的。
我想到了! 我添加了这一行:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
到我的.bash_profile
,现在我可以导入存储在该目录中的模块。 感谢所有回答的人。
这些都没有帮助我解决类似的问题。 相反,我不得不修复新安装的文件权限才能导入。 这通常是一件显而易见的事情,但是在安装模块/软件包时使用sudo
并不是那么重要。
我面临类似的问题,它与/usr/local/lib/python2.7/site-packages有关组和其他没有读取或写入权限,他们是由root拥有。 这意味着只有root用户才能访问它们。
尝试这个:
$ sudo chmod -R go+rX /usr/local/lib/python2.7/site-packages
只需inputterminal:
sudo pip install pillow
并inputimport
(无论你喜欢)还是inputfrom
(无论你喜欢) import
(无论你喜欢什么)。