Как установить пакеты python с virtualenv без их установки в глобальном масштабе?

Я установил 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 менее болезненным способом?

1
задан 12 May 2017 в 18:42

2 ответа

После создания виртуальной среды вам необходимо активировать его:

$ 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
2
ответ дан 18 July 2018 в 13:25

После создания виртуальной среды вам необходимо активировать его:

$ 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
2
ответ дан 24 July 2018 в 20:10

Другие вопросы по тегам:

Похожие вопросы: