Вы должны устанавливать только virtualenv с помощью sudo, все остальное должно выполняться без sudo.
Вы также должны использовать --no-site-packages
, так как это гарантирует, что в вашей среде нет конфликтующих версий пакетов.
Правильный способ сделать это:
$ sudo apt-get install python-virtualenv
$ virtualenv --no-site-packages django_env
$ source django_env/bin/activate
(django_env)$ pip install -U django
Если вам нужно что-то из вашего глобального пути, вы должны установить его в вашей виртуальной среде.Таким образом, когда вы заморозите свою среду , вы получите только то, что требуется для вашего приложения.
Вы можете установить yolk
, в котором будут перечислены пакеты вваше окружение:
(django_env)$ pip install yolk
(django_env)$ yolk -l