Невозможно установить Python
Я попытался вручную установить Python на OpenSuSE Linux, загрузив исходный код, и запустил:
configure --prefix=/path/to/my/dir/installed/python
а также
make && make install
(Я должен сделать это таким образом, потому что я использую сервер, предоставленный моим учреждением, тогда как у меня нет корневого доступа к нему)
Это дает мне следующее предупреждение:
make: warning: Clock skew detected. Your build may be incomplete.
Я не уверен, связано ли предупреждение с ошибкой, которая у меня возникнет в будущем. (Редактировать: это предупреждение исчезло)
Я проверяю журнал установки и понимаю, что выдает следующую ошибку:
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/path/to/my/dir/installed/python/include -I. -IInclude -I./Include -I/usr/local/include -I/path/to/my/dir/setup/Python-2.7.11/Include -I/path/to/my/dir/setup/Python-2.7.11 -c /path/to/my/dir/setup/Python-2.7.11/Modules/_curses_panel.c -o build/temp.linux-x86_64-2.7/path/to/my/dir/setup/Python-2.7.11/Modules/_curses_panel.o
/path/to/my/dir/setup/Python-2.7.11/Modules/_curses_panel.c:17:19: fatal error: panel.h: No such file or directory
#include <panel.h>
^
compilation terminated.
Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Теперь я запускаю Python по
/path/to/my/dir/installed/python/bin/python
Это дает мне следующую ошибку:
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 2.7.13 (default, May 26 2017, 18:16:53)
[GCC 4.8.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in <module>
import readline
ImportError: No module named readline
Я попытался исправить эту ошибку, используя Как я могу устранить неполадки Python "Не удалось найти независимые от платформы библиотеки <префикс>", а также некоторые похожие ссылки, и установил мою переменную среды:
export PYTHONPATH='/path/to/my/dir/installed/python/lib/:/path/to/my/dir/installed/python/lib/lib-dynload:/path/to/my/dir/installed/python/lib/python2.7/site-packages'
export PYTHONHOME='/path/to/my/dir/installed/python/lib
Теперь, если я буду запускать Python, это даст мне эту ошибку:
ImportError: No module named site
Я ищу в Stackru решение для последнего, но они просто говорят мне вернуться, чтобы сбросить $PYTHONHOME
а также $PYTHONPATH
...
Я также попытался сбросить два пути в некоторые другие места, ни один из них не работает.
К вашему сведению, если я сбросил путь и запустил python, он все равно выведет предыдущую ошибку "Не удалось найти зависимые библиотеки", и если я попытаюсь найти путь, который он предоставляет:
>>>import sys
>>>sys.path
['', '/path/to/my/dir/installed/python/lib/python27.zip',
'/path/to/my/dir/installed/python/lib/python2.7',
'/path/to/my/dir/installed/python/lib/python2.7/plat-linux2',
'/path/to/my/dir/installed/python/lib/python2.7/lib-tk',
'/path/to/my/dir/installed/python/lib/python2.7/lib-old',
'/path/to/my/dir/installed/python/lib/lib-dynload',
'/path/to/my/dir/installed/python/lib/python2.7/site-packages']
1 ответ
Вы, наверное, узнали ответ на это. Но для всех, кому в будущем понадобится помощь с этим, я нашел ответ, который сработал сам. Откройте командную строку / терминал, введите следующие команды.
$ sudo apt-get update
$ sudo apt-get install python3.6
Если вы все сделали правильно, python3.6 должен быть установлен успешно.