2016-01-18 5 views
0

В принципе, я создал виртуальную коробку с сервером Ubuntu (стабильный). Установленный python 3.5.1, то есть я имею 2.7, 3.4.3 и теперь 3.5.1. Я установил virtualenv и имел массу проблем с тем, чтобы сказать, какой интерпретатор использовать, опять же из-за моего отсутствия опыта. Я в конце концов установить его с помощью:sudo pip install django Ошибка синтаксиса

sudo virtualenv -p /usr/bin/python3.5 fmenv 

Теперь, когда я его активации (после нескольких часов изменяющихся вещей), если я ввожу:

python 

Я получаю 3.5.1 переводчика, хорошо , Если я:

pip -V 

я получаю:

pip 7.1.2 from /usr/.../fmenv/.../site-packages 

тоже хорошо. Кстати, virtualenv является 13.1.2

Проблема заключается в том, что, когда я бегу:

sudo python -m pip install django 

или просто:

sudo pip install django 

Я получаю SyntaxError: недопустимый синтаксис (загрузка хорошо, кстати).

Теперь я думал, может быть, с:

sudo python3.5 -m pip install django 

он может работать, но это не говорит, что нет модуля по имени Пип, поэтому я попытался вручную указать его, что не работает также. В любом случае, заблаговременно за любую помощь.

ответ

1

Использование sudo переключает на root, и оно не знает о вашем virtualenv. Просто запустите его без sudo. Он не нужен с virtualenv.

+0

Я не могу. PermissionError [Errno 13] – AquaSolid

+2

Запустите все без sudo (создайте новый virtualenv с нуля). Это цель virtualenv, использовать ее как обычного пользователя и иметь настраиваемую частную среду python. –

+0

Такая же ошибка. sudo необходимо, – AquaSolid

0
SyntaxError: invalid syntax 

Это ошибка, которую вы получаете из приглашения python не из системной оболочки. Какое сообщение об ошибке вы получаете при запуске pip из оболочки?

+0

Я бы не знал, я никогда раньше не использовал pip внутри оболочки. Скажи мне команду. – AquaSolid

+0

@AquaSolid pip install ... это команда запуска из оболочки unix или оболочки DOS.Эти системные оболочки - это то, где вы набрали 'python' раньше, чтобы попасть в оболочку python. Я хочу сказать, что вы получаете 'SyntaxError' из оболочки python не системные оболочки. Я понимаю, что вы получаете сообщение об ошибке, когда запускаете его из системной оболочки. Что это? –

+0

Учитывая, что мой venv активен с pip install django, я просто получаю PermissionError, sudo pip install django работает, но когда я делаю pip freeze, django отсутствует в списке. Но, это прекрасно, поскольку он работает с судо, тогда все в порядке, я могу жить с этим, я могу жить без вен. – AquaSolid

0

Благодаря этому post.

Использование команды:

sudo chown -R aquasolid:aquasolid /usr/virtu/fmenv/ 

Теперь он работает как шарм.