权限被拒绝:'/usr/local/lib/python2.7/dist-packages/pytz-2017.2.dist-info'

Mr *_*r H 5 command-line

我尝试安装 Django,pip install Django==1.11.4 但我一直面临这个错误:

Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python2.7/dist-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/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pytz-2017.2.dist-info'
Run Code Online (Sandbox Code Playgroud)

小智 5

默认情况下,pip 安装在/usr/local,需要 sudo 权限。相反,每当您使用 Python 模块时,请使用 virtualenv。这很容易:

  1. 全局安装 Python virtualenv

    sudo pip install virtualenv
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个虚拟环境

    virtualenv Venv
    
    Run Code Online (Sandbox Code Playgroud)
  3. 激活您的虚拟环境

    source Venv/bin/activate
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在 virtualenv 中本地安装 Django

    pip install django
    
    Run Code Online (Sandbox Code Playgroud)

这样你就不必担心修改全局 Python 模块,而且它更安全。