我尝试通过键入终端使用pip安装python库openpyxl:
pip install openpyxl
但它没有正确执行。它引发了一个例外:
Successfully built openpyxl jdcal et-xmlfile
Installing collected packages: jdcal, et-xmlfile, openpyxl
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 323, in clobber
shutil.copyfile(srcfile, destfile)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/jdcal.py'
最好的方法可能是使用pip install <libname> --user
在你的情况下使用pip install openpyxel --user
的含义
这将为您的用户安装包,这是安全的。您也可能有权为用户安装软件包。
您遇到的权限错误是一个常见问题。从这里可以看出:pip is not able to install packages correctly: Permission denied error和这里的error: could not create '/usr/local/lib/python2.7/dist-packages/virtualenv_support': Permission denied
使用sudo pip命令不被认为是安全的,如下所述:What are the risks of running 'sudo pip'?
您的用户在Python安装文件夹中没有写入权限。
要修复它,请以root身份运行pip:
sudo pip install openpyxl
您的帐户没有此目录的写入权限?
将site-packages文件夹的安全设置更改为您的用户的“完全控制”,然后重新运行pip install openpyxl