Может ли у вас быть более одного python в терминале?

#python #django

#python #django

Вопрос:

Я немного смущен тем, что происходит с запуском моих приложений django. Когда я использую команду python manage.py runserver , я не получаю соответствующего ответа от сервера. Однако, когда я использую python2.6 manage.py runserver сервер, он действительно запускается.

Может ли кто-нибудь помочь мне с этой путаницей, а также подсказать мне, как я могу упростить эту проблему? В идеале я не хочу разные версии python и хочу иметь возможность вводить только python manage.py runserver

Комментарии:

1. Похоже, у вас установлено два python. Попробуйте python -V посмотреть, какая версия python .

2. там написано «Python 2.6.1». Однако, есть ли у вас предложение по решению проблемы, описанной выше? Я хотел бы иметь возможность вводить только одну вещь для запуска django.

3. Требуется больше деталей. Я бы ожидал, что python2.6 будет запускать python 2.6.1, если у вас нет новой версии 2.6. Итак, подтвердите, что установлены две версии. Если есть, либо решите жить с использованием python2.6 , либо установите свой путь так, чтобы тот, который работает, находился в пути — это зависит от ОС. Увы, я собираюсь ненадолго оставить клавиатуру, поэтому в ближайшее время не смогу оказать дополнительную помощь.

Ответ №1:

ДА. Это довольно распространенное явление. Вы можете узнать местоположение исполняемого файла с which помощью и разрешить символические ссылки с ls помощью .

$ ls -l `какой python`
lrwxrwxrwx 1 root root 9 июля 13 18:50 /usr/bin/python -> python2.6
$ ls -l `какой python3'
lrwxrwxrwx 1 root root 9 июля 27 22:24 /usr/bin/python3 -> python3.1

В Debian и некоторых других системах может потребоваться разрешить несколько символических ссылок.

$ ls -l `какой nc`
lrwxrwxrwx 1 root root 20 октября 7 15:16 /bin/nc -> /etc/alternatives/nc
$ ls -l /etc/alternatives/nc
lrwxrwxrwx 1 root root 15 октября 7 15:16 /etc/alternatives/nc -> /bin/nc.openbsd

Если вы хотите только ввести python и получить нужную версию, создайте псевдоним. Добавьте строку в свой .bashrc файл (или где бы вы ни хранили такие строки):

 alias python=python2.6
 

Обратите внимание, что это не повлияет на скрипты: если вы запустите «python» в скрипте, он получит старую версию, а не псевдоним. Псевдонимы предназначены только для интерактивного использования.

Ответ №2:

Да, возможно иметь две версии python. Самый простой способ, который я нашел для python выполнения python2.6 (не нарушая другую версию для кого-либо еще), — это использовать псевдоним. Для этого просто отредактируйте следующее и добавьте его в свой ~/.profile файл:

 alias python=/path/to/your/python2.6
 

Выйдите из системы и снова войдите, и при запуске python он должен выполнить правильный двоичный файл. Если вы хотите вернуться назад, просто удалите эту строку из своего ~/.profile .

Ответ №3:

Да, у вас может быть несколько версий Python, расположенных рядом на вашем компьютере.

Похоже python , что на вашем хосте символически связана с версией, отличной от python2.6 . Вы можете узнать эту версию, выполнив:

 python --version 
 

…или…

 python -V
 

… если это не сработает.

Установка версии Python по умолчанию зависит от того, как вы установили Python в первую очередь.

Для Mac OS X см. раздел Как я могу изменить версию Python по умолчанию в Snow Leopard?

Комментарии:

1. У вас есть предложения о том, как я могу просто получить одну версию python для запуска django?

2. python --version не работает на некоторых старых питонах, поэтому я предложил -V флаг в своем комментарии к вопросу.

3. @cfarm54: Смотрите superuser.com/questions/35256 /…