无法从site-packages目录加载通过pip安装的Python模块

Cha*_*Coy 50 python macos bash module evernote

我正在尝试安装和使用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
Run Code Online (Sandbox Code Playgroud)

这是我的内容.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/
Run Code Online (Sandbox Code Playgroud)

我与安装的其他模块有同样的问题pip.救命?

编辑:我是一个超级新手,并没有编辑该.bash-profile文件.

编辑: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
Run Code Online (Sandbox Code Playgroud)

编辑:我似乎通过添加export PYTHONPATH=“/usr/local/lib/python2.7/site-packages”到我的.bash_profile文件取得了进展.但是,现在当我运行python -c 'from evernote.api.client import EvernoteClient'它时尝试导入oauth2,它失败并出现相同的错误.ouath2模块存在于模块目录中.

Jas*_*n S 79

/usr/bin/python是OS X附带的python的可执行文件./usr/local/lib仅用于用户安装程序的位置,可能来自Python.org或Homebrew.因此,您要混合使用不同的Python安装,并且更改python路径只是为不同安装安装的不同软件包的部分解决方法.

为了确保使用pip与特定python关联的,您可以运行python -m pip install <pkg>,或者查看pip路径上的内容,或符号链接到.

  • `python -m pip install <pkg>`似乎工作得很漂亮. (16认同)
  • python -m pip install <pkg>是最好的解决方法.或者,您也可以这样做: - > import sys - > sys.path.append("/ usr/local/lib/python2.7/site-packages")将这两行添加到您的python脚本或在口译员的工作方式相同. (3认同)
  • `-m`做什么? (2认同)
  • @acollection_:-m来自库Module (2认同)

Cha*_*Coy 59

我想到了!我添加了这一行:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

到我.bash_profile和现在我可以导入存储在该目录中的模块.感谢所有回答的人.


小智 5

我遇到了类似的问题,它与/usr/local/lib/python2.7/site-packages相关,对组和其他组件没有读写权限,并且它们归root所有.这意味着只有root用户才能访问它们.

试试这个:

$ sudo chmod -R go+rX /usr/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)