#python #python-3.x
#python #python-3.x
Вопрос:
На моем компьютере (16.04) установлены python2 и несколько версий python3 (3, 3.5, 3.6, 3.7). Я использовал все свои коды исключительно на python2 и вводил python в командной строке, используемой для запуска python2.7 и python3, для запуска некоторой версии python3 (python3.5 ).
недавно мне пришлось работать над определенным новым проектом, который требовал использования нескольких библиотек, доступных только в python3,
Я установил эти библиотеки ( usr / lib /python3/ dist-packages/ ), однако, когда я пытаюсь импортировать эти библиотеки, я получаю сообщение об ошибке библиотека не найдена. Я предположил, что это связано с существованием нескольких версий python3.x, и удалил все python 3.x в usr/lib/, кроме usr/lib/python3/ .
Но теперь, когда я пытаюсь запустить Python3, я получаю следующую ошибку.
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Current thread 0x00007f736ebd7700 (most recent call first):
Aborted (core dumped)
Я попробовал unset PYTHONHOME
и сбросил PYTHONPATH
настройки.
Но это не решило проблему, есть ли какой-либо способ исправить это без установки виртуальных сред (поскольку это слишком запутанно для меня).
Обновление: у меня установлен Python по умолчанию на Python2.7, и он работает нормально, проблема только в python3. Также, когда я пытаюсь деинсталлировать Python3, sudo apt-get autoremove python3
я получаю сообщение об ошибке
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
packagekit-tools : Depends: python3-aptdaemon.pkcompat but it is not going to be installed or
packagekit-system-interface or
packagekit (= 0.8.17-4ubuntu6~gcc5.4ubuntu1.5)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Ответ №1:
Пожалуйста, добавьте только одно приложение Python и путь к сценариям в переменную среды.
При необходимости измените путь к приложению Python и путь к скриптам Python.
Комментарии:
1. Извините, я не понимаю, не могли бы вы объяснить подробнее, пожалуйста? Возможно ли запустить одну конкретную версию python3 с помощью команды python3 в терминале?
2. у меня есть две версии python python 3.5 и 3.7, когда я работаю с python 3.7, я получаю переменную среды и задаю путь как c:/Users/…./Python37-32 и c:/Users/…/Python37-32/Scripts если мне требуется python 3.5, я изменяю путь к переменной среды python следующим образом c:/Users/…./Python35-32 и c:/Users/…/Python35-32/Scripts
3. вау, это здорово. Я имел в виду, что прямо сейчас мои пути и среды python настроены на использование python2.7, есть ли какой-нибудь способ использовать python3, не нарушая этого?
4. да, измените только проверяемую среду, все библиотеки сохраняются в 2.7
5. Извините, нет. Я ищу способы параллельного использования Python2.7 и python3.