我无法在Ubuntu上安装基本的Django包。我只是删除了virtualenv,重新制作了它。pip3install
= pip3 install -r requirements.txt
[mything] cchilders@cchilders-desktop:~/projects/mything (master)
$ cat requirements.txt
Django==1.10.1
django-filter
djangorestframework
psycopg2
twilio
ipdb
ipython
[mything] cchilders@cchilders-desktop:~/projects/mything (master)
$ pip3install
Collecting Django==1.10.1 (from -r requirements.txt (line 1))
Using cached Django-1.10.1-py2.py3-none-any.whl
Collecting django-filter (from -r requirements.txt (line 2))
Using cached django_filter-0.15.2-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): djangorestframework in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 4))
Collecting twilio (from -r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): ipdb in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): ipython in /home/cchilders/.local/lib/python3.5/site-packages (from -r requirements.txt (line 7))
Collecting pysocks; python_version == "3.5" (from twilio->-r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): six in /home/cchilders/.local/lib/python3.5/site-packages (from twilio->-r requirements.txt (line 5))
Collecting httplib2>=0.7 (from twilio->-r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): pytz in /usr/lib/python3/dist-packages (from twilio->-r requirements.txt (line 5))
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/cchilders/.local/lib/python3.5/site-packages (from ipdb->-r requirements.txt (line 6))
Requirement already satisfied (use --upgrade to upgrade): prompt-toolkit<2.0.0,>=1.0.3 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): pickleshare in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): decorator in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): simplegeneric>0.8 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): traitlets>=4.2 in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): pygments in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): pexpect; sys_platform != "win32" in /home/cchilders/.local/lib/python3.5/site-packages (from ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): wcwidth in /home/cchilders/.local/lib/python3.5/site-packages (from prompt-toolkit<2.0.0,>=1.0.3->ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): ipython-genutils in /home/cchilders/.local/lib/python3.5/site-packages (from traitlets>=4.2->ipython->-r requirements.txt (line 7))
Requirement already satisfied (use --upgrade to upgrade): ptyprocess>=0.5 in /home/cchilders/.local/lib/python3.5/site-packages (from pexpect; sys_platform != "win32"->ipython->-r requirements.txt (line 7))
Installing collected packages: Django, django-filter, pysocks, httplib2, twilio
Exception:
Traceback (most recent call last):
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/commands/install.py", line 317, in run
prefix=options.prefix_path,
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_set.py", line 742, in install
**kwargs
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 831, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 1032, in move_wheel_files
isolated=self.isolated,
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/wheel.py", line 346, in move_wheel_files
clobber(source, lib_dir, True)
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/wheel.py", line 287, in clobber
ensure_dir(dest) # common for the 'include' path
File "/home/cchilders/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.5/site-packages'
左边的mything
是一个活动的虚拟环境(我刚刚重新制作)
您可能会因为忘记将path放入Python3解释器而意外地使用Python2重新创建virtualenv,因此当您执行pip3时它会引用系统Python3。
确保你在你的虚拟环境中使用正确的Python,并确保你使用pip创建虚拟环境(是的,这是默认选项,但我们不知道你如何创建虚拟环境)。
只是扩展@valentjedi的答案,以下是我如何在不使用sudo的情况下修复我的权限问题。
-
确保在这里安装了virtualenv
-
这是可选的,但我也使用virtualenvwrapper在这里使用
workon
命令,否则您可以从virtualenv 中直接使用
source bin/activate
。创建Virtualenv
你不想用sudo
来安装你的项目库,因为它会在系统范围内安装你的库(当你有多个项目时,这会遇到问题)。相反,可以像这样使用virtualenvs:
$mkvirtualenv myenv --python=python3.5
$workon myenv
$pip3 install -r requirements.txt
设置你的虚拟环境'myenv'并指定你使用的python。然后您激活环境,并能够安装您的需求文件。
我有同样的问题,即使我有正确的python路径在我的虚拟环境。我的错误是使用了错误的pip版本-有python3.7,我输入pip install -r requirements.txt而不是pip3.7 install -r requirements.txt
我得到相同的错误
copying build/lib.linux-x86_64-3.8/pvectorc.cpython-38-x86_64-linux-gnu.so -> /home/insoluble/Workspace/venvs/your_venv/lib/python3.8/site-packages
byte-compiling /home/insoluble/Workspace/venvs/your_venvlib/python3.8/site-packages/_pyrsistent_version.py to _pyrsistent_version.cpython-38.pyc
error: [Errno 13] Permission denied: '/home/insoluble/Workspace/venvs/your_venv/lib/python3.8/site-packages/__pycache__/_pyrsistent_version.cpython-38.pyc.140572841931152'
确保在创建虚拟环境时不使用sudo
。我在创建一个时犯了这个错误,因此出现了问题。
使用以下命令创建新环境后,问题解决了。
python3.8 -m venv ~/Workspace/venvs/my_venv