Я установил virtualenv с sudo apt-get install virtualenv. В этом учебнике указано, что вам нужно использовать собственную pip или pip3 папку env/bin/ для установки модулей в виртуальной среде, и явно указано, что вы не используете sudo для этого.
К сожалению, это не работает для меня, я получаю PermissionError, когда я пытаюсь это сделать. Но использование sudo до pip3 будет устанавливать модуль по всему миру, поэтому я не буду использовать виртуальную среду вообще.
Например. когда в моей папке env / bin / я запускаю pip3 install pytest:
Collecting pytest
Downloading pytest-3.0.7-py2.py3-none-any.whl (172kB)
100% |████████████████████████████████| 174kB 1.2MB/s
Collecting py>=1.4.29 (from pytest)
Downloading py-1.4.33-py2.py3-none-any.whl (83kB)
100% |████████████████████████████████| 92kB 2.1MB/s
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from pytest)
Installing collected packages: py, pytest
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python3.5/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python3.5/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python3.5/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/python3.5/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python3.5/dist-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python3.5/dist-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python3.5/dist-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/local/lib/python3.5/dist-packages/py-1.4.33.dist-info'
Как мне начать использовать virtualenv на Ubuntu 16.04 менее болезненным способом?
После создания виртуальной среды вам необходимо активировать его:
$ virtualenv myenv
$ source myenv/bin/activate
(myenv) $ pip install pytest
или для Python 3:
$ virtualenv -p `which python3` myenv
$ source myenv/bin/activate
(myenv) $ pip3 install pytest
Когда вы закончите использовать среду, вы может деактивировать его так:
$ deactivate
После создания виртуальной среды вам необходимо активировать его:
$ virtualenv myenv
$ source myenv/bin/activate
(myenv) $ pip install pytest
или для Python 3:
$ virtualenv -p `which python3` myenv
$ source myenv/bin/activate
(myenv) $ pip3 install pytest
Когда вы закончите использовать среду, вы может деактивировать его так:
$ deactivate