2017-02-17 8 views
0

Использование дистрибутива Linux на базе Debian (Kali) для программирования на Python (обратите внимание, что я очень новичок в Linux, менее 2 месяцев). Установлен Python и GitKraken обычным способом с apt-get install.Linux Terminal ./code.py работает с использованием Python 2.7.13, в то время как IDLE использует Python 3.5.3

Начал счастливо кодировать с использованием 3.5.3 IDLE, но когда я попытался использовать команды pip для установки модулей (все это как пользователь root), я обнаружил, что он устанавливает /usr/local/lib/python2.7/dist-packages, а не местоположение Python 3.5.3 (/usr/local/lib/python3.5/dist-packages).

Когда я использовал pip install module, он установил все модули в положение 2.7. Поскольку по умолчанию используется Терминал по умолчанию (по любой причине), использование ./code.py всегда запускало код с использованием Python 2.7, но я написал код для Python 3.5 (а не версию, для которой были установлены модули).

Я видел несколько других ответов на этом веб-сайте для подобных проблем, где вам нужно установить новые модули и изменить переменную PYTHONPATH и назначить псевдонимы, но это перепутало больше вещей. Теперь echo $PYTHONPATH ничего не возвращает, а pip все еще устанавливается в местоположение Python 2.7.

Я использовал apt-get для установки python-pip3, и я использую команду pip3 для установки модулей, но всякий раз, когда я использую ./code.py (мой основной метод для запуска кода), он по-прежнему использует Python 2.7. Как я могу это изменить?

+0

Если у вас есть 'pip3', попробуйте' python3 code.py' для запуска –

ответ

1

Редактирование притон на первой линии code.py, чтобы указать на Python 3.5 двоичном, например .:

#!/usr/bin/env python3 

Или, если это не связано, как python3 Выяснить были ваши Python 3.5 двоичный и использовать.

+0

Первоначально был '#!/Usr/bin/python', пришлось добавить 3.5 в конец. Теперь (с псевдонимами для 'pip' и' python') все работает хорошо. – JoshuaS3

+0

Использование env как в ответе предпочтительнее, потому что оно более портативное - расположение установки env хорошо стандартизировано в Unix-системах и дистрибутивах Linux, расположение (и точная под-версия) python - нет. '/ usr/bin/env python3' с большей вероятностью будет работать в другой системе, чем'/usr/bin/python3.5'. Даже если другая система имеет «python3» в пути, она может быть в '/ bin' или'/usr/local/bin', и это может быть 'python3.6' или другое имя и т. Д. – zstewart