use*_*495 2 python sudo pip amazon-ec2 amazon-web-services
我试图在aws ec2实例上运行一个小的python代码(需要pytz和其他一些软件包).当我尝试安装pytz时,我遇到了一些错误:
[ec2-user@ip-172-31-28-178 ~]$ pip install pytz
Collecting pytz
Using cached pytz-2016.7-py2.py3-none-any.whl
Installing collected packages: pytz
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib64/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/pytz-2016.7.dist-info'
Run Code Online (Sandbox Code Playgroud)
我按照这个主题的接受答案但又得到了另一个错误:
sudo:pip: command not found
然后我发现它可能是因为路径设置错误(根据此页面.但我无法Just add ~/.local/bin to your path按照第二个答案的建议设置.
有人可以告诉我如何将垃圾箱添加到我的路径?我不知道.
还有一些信息:
[ec2-user@ip-172-31-28-178 ug]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin
[ec2-user@ip-172-31-28-178 ug]$ which pip
/usr/local/bin/pip
[ec2-user@ip-172-31-28-178 ug]$
Run Code Online (Sandbox Code Playgroud)
hel*_*loV 12
secure_pathsudo 的默认值()在/etc/sudoers.中指定.
[ec2-user@ip-172-31-28-178 ~]$ sudo grep secure_path /etc/sudoers
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
由于pip在该路径中找不到,因此您将收到未找到的错误.PATH在运行时保留您sudo:
sudo env "PATH=$PATH" pip install pytz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4934 次 |
| 最近记录: |