use*_*456 10 python macos pip importerror python-requests
今晚我试图安装一个名为"请求"的软件包并开始在终端上摸索,并且在这类事情上没有太多的直觉.
计算机是mac mini,osx版本10.9.4
在/ Library/Python我有4个文件夹:2.3 2.5 2.6和2.7.
在/应用程序我有"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
Run Code Online (Sandbox Code Playgroud)
我的目标是在终端中运行此命令:
pip install requests
Run Code Online (Sandbox Code Playgroud)
我相信pip已经安装好了.我在IDLE中运行文件"get-pip.py",这就是它所说的:
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
这给了我IDLE中的这个错误(所以我猜它导入前几个包没有问题?):
>>>
Traceback (most recent call last):
File "/Users/Mario/Desktop/pyak/pyak.py", line 4, in <module>
import requests
ImportError: No module named requests
>>>
Run Code Online (Sandbox Code Playgroud)
* 系统路径列表:
sys.path ['/ Users/Mario/Desktop/pyak','/ Users/Mario/Documents','/ Library /Python/2.7/site-package/download1.5.6-py2.7.egg',' /Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7','/ Library/Frame /Python.framework /Versions/2.7/lib/python2.7/plat-darwin','/ Library/Frame /Python.framework/Version/7.7/lib/python2.7/plat-mac','/ Library/Frame /Python.framework /Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages','/ Library/Frame /Python.framework/Version/1.7/lib/python2.7/lib -tk','/ Library/Frameworks /Python.framework/Versions/2.7/lib/python2.7/lib-old','/ Library/Frame /Python.framework/Version/7.7/lib/python2.7/lib-dadload','/ Library/Frameworks /Python.framework/Versions/2.7/lib/python2.7/site-packages','/ Library /Python/2.7/site-package']
*另一个更新:
host-210-117:~ Mario$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Run Code Online (Sandbox Code Playgroud)
*多一点信息(这应该发生吗?)
host-210-117:~ Mario$ which pip
/usr/local/bin/pip
host-210-117:~ Mario$ pip
ImportError: No module named site
Run Code Online (Sandbox Code Playgroud)
*更改.bashrc后
.bashrc:这是文件中的内容
export PATH ="$ PATH:$ HOME/.rvm/bin"#将RVM添加到PATH以获取脚本
别名python =/Library/Python/2.7/python
这是运行的输出:
pip install requests
Run Code Online (Sandbox Code Playgroud)
host-210-117:~Mario $ pip install requests
下载/解包请求
下载请求-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 (options,args)
运行require_set.install文件"/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py",第283行(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 requirement.install(install_options)中,global_options,*args,**kwargs)
文件"/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py",第671行,安装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",第901行,在move_wheel_files pycompile = self中. pycompil e,
文件"/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py",第215行,在move_wheel_files clobber(source,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-package /要求'
在/Users/Mario/Library/Logs/pip.log中存储失败的调试日志
据我所知,您的系统上有三个版本的Python。
/Library/Frameworks/Python.framework/Versions/2.7//Library/Python/2.7/site-packagespip是针对您下载的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
Run Code Online (Sandbox Code Playgroud)
保存文件,然后关闭所有终端窗口并再次打开。现在键入pip,它应该可以正常工作,然后您可以继续安装请求。
为了将来参考,请尝试使用一个版本的Python。我个人忽略了捆绑版本brew,而是使用的捆绑版本,但是您可以坚持使用从python.org下载的Python。
我修复了我的:
brew reinstall python
它修复了我所有破碎的路径。我想我用一个损坏的 brew 包破坏了它,这个包有错误的 python 版本依赖或类似的东西。
小智 5
我遇到了同样的问题,错误信息是:
ModuleNotFoundError: No module named 'xxx'
Run Code Online (Sandbox Code Playgroud)
并最终解决了
brew install python3
brew link python3
sudo python3 -m pip install xxx
// or `sudo python3 -m pip install -r requirements.txt`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57669 次 |
| 最近记录: |