Mac-Python-导入错误:“无模块命名站点”

用户名

今晚,我正在尝试安装名为“ requests”的程序包,并已开始在终端上摸索,对这种事情没有太多的直觉。

计算机是Mac mini,OSX版本10.9.4

在/ Library / Python中,我有4个文件夹:2.3 2.5 2.6和2.7。
在/ Applications中,我有“ Python 2.7”和“ Python 3.4”,
我可以打开IDLE并键入8 + 8,然后得到16。

这是我在终端中遇到的错误:

 host-210-117:~ Mario$ python       
 ImportError: No module named site       

 host-210-117:~ Mario$ pip       
 ImportError: No module named site      

我的目标是在终端中运行以下命令:

 pip install requests

我相信pip已安装。我在IDLE中运行文件“ get-pip.py”,它的意思是:

 Requirement already up-to-date: pip in /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg
 Cleaning up...

这可能与路径有关吗?我会感谢一些指导/提示/技巧,谢谢!

哦,还有更多信息可能会帮助解决这个问题。这是我正在运行的程序的前几行:

 import base64
 import hmac
 import json
 import requests
 import time
 import urllib
 import os

这在IDLE中给了我这个错误(所以我想它可以毫无问题地导入前几个软件包吗?):

 >>> 

 Traceback (most recent call last):
   File "/Users/Mario/Desktop/pyak/pyak.py", line 4, in <module>
     import requests
 ImportError: No module named requests
 >>> 

*****系统路径列表:

sys.path ['/ Users / Mario / Desktop / pyak','/ Users / Mario / Documents','/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip'、'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7'、'/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-darwin','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac','/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages'、'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk'、'/Library/Frameworks /Python.framework/Versions/2.7/lib/python2.7/lib-old','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload','/ Library / Frameworks /蟒蛇。framework / Versions / 2.7 / lib / python2.7 / site-packages”,“ / Library / Python / 2.7 / site-packages”]

***另一个更新:

 host-210-117:~ Mario$ which python      
 /Library/Frameworks/Python.framework/Versions/2.7/bin/python

***更多信息(这应该发生吗?)

 host-210-117:~ Mario$ which pip       
 /usr/local/bin/pip        
 host-210-117:~ Mario$ pip       
 ImportError: No module named site       

***更改.bashrc之后

.bashrc:这是文件中的内容

export PATH =“ $ PATH:$ HOME / .rvm / bin”#将RVM添加到PATH中以编写脚本
别名python = / Library / Python / 2.7 / python

这是运行的输出:

  pip install requests      

host-210-117:〜Mario $ pip安装请求
下载/解
压缩请求下载请求2.4.1-py2.py3-none-any.whl(458kB):458kB已下载
安装收集的软件包:请求进行
清理...
例外:
追溯(最近一次通话最近):
文件“ /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py”,第122行,主要状态= self.run (选项,args)
文件“ /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py”,第283行,在运行require_set.install(install_options, global_options,root = options.root_path)
文件“ /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”,第1435行,安装要求。install (install_options ,global_options,* args,** kwargs)
在安装self.move_wheel_files(self.source_dir,root = root)文件中的文件“ /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”,第671行“ /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”,行901,在move_wheel_files pycompile = self.pycompile中,
文件“ /Library/Python/2.7” /site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py“,第215行,位于move_wheel_files clobber(源
文件,lib_dir,True)文件“ /Library/Python/2.7/site-packages/ pip-1.5.6-py2.7.egg / pip / wheel.py”,第205行,位于clobber os.makedirs(destdir)
文件“ /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2中.7 / os.py“,行157,在makedirs mkdir(名称,模式)中
OSError:[Errno 13]权限被拒绝:' / Library / Python / 2.7 / site-packages / requests '

在/Users/Mario/Library/Logs/pip.log中存储故障调试日志

布尔汉·哈立德(Burhan Khalid)

据我所知,您的系统上有三个版本的Python。

  • OSX附带的一个 /Library/Frameworks/Python.framework/Versions/2.7/
  • 来自python.org的Python 2.7 /Library/Python/2.7/site-packages
  • 来自python.org的Python 3.4

pip是针对您下载的Python 2.7版本(在“应用程序”文件夹中看到的)安装的,不幸的是,shell默认Python是与OSX捆绑在一起的Python,并且那里没有安装pip。

IDLE还与您下载的Python捆绑在一起,这就是为什么它会不断告诉您已安装pip的原因,但它无法在shell中运行。

由于您可能会将从python.org下载的Python用作“主要” Python(毕竟,它是您使用的带有IDLE的Python),因此您需要将外壳环境设置为默认指向该Python。

最简单的方法是添加一个变量,.bashrc变量创建别名python并将其指向正确的二进制文件。为此,请将此行添加到/Users/yourusername/.bashrc-.默认情况下处于隐藏状态的文件,因此您必须在命令行中输入整个文件名才能打开它。添加以下行:

alias python=/Library/Python/2.7/python

保存文件,然后关闭所有终端窗口,然后再次打开。现在键入pip,它应该可以正常工作,然后您可以继续安装请求。

为了将来参考,请尝试使用一个版本的Python。我个人忽略了捆绑版本brew,而是使用的捆绑版本,但是您可以坚持使用从python.org下载的Python。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章