Как установить пакеты Python с virtualenv, не устанавливая их глобально?

Я установил virtualenv с sudo apt-get install virtualenv. Это стоит в этом учебном руководстве, что необходимо использовать Ваш env/bin/ собственная папка pip или pip3 управляйте для установки модулей в виртуальной среде, и явно указано, что Вы не используете sudo сделать это.

К сожалению, это не работает на меня, я получаю a 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

1 ответ

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

$ 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
ответ дан 7 December 2019 в 13:33

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

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