Не удалось установить Python без доступа sudo
Я извлек, настроил и использовал make для установочного пакета на моем сервере.
Однако я не мог использовать make install. Я получаю ошибку
[~/wepapps/python/Python-2.6.1]# make install
/usr/bin/install -c python /usr/local/bin/python2.6
/usr/bin/install: cannot create regular file `/usr/local/bin/python2.6': Permission denied
make: *** [altbininstall] Error 1
Я запускаю папку с
chmod +x Python-2.6.1
Я получаю ту же ошибку.
Как я могу запустить make install без доступа sudo?
Ответы
Ответ 1
Как установить путь в мой домашний каталог?
mkdir /home/masi/.local
cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install
Затем запустите, используя:
/home/masi/.local/bin/python
Аналогично, если у вас есть сценарии (например, CGI), для которых требуется ваша собственная версия Python, вы должны явно указать им:
#!/home/masi/.local/bin/python
вместо использования системы Python по умолчанию, которую выберет "#!/usr/bin/env python".
Вы можете изменить свой параметр PATH, чтобы просто набрать "python" из консоли, запустить эту версию, но это не поможет веб-приложениям, запущенным под другим пользователем.
Если вы скомпилируете что-то, что связано с Python (например, mod_wsgi), вы должны сказать ему, где найти свой Python, или вместо него будет использовать систему. Это часто делается примерно так:
./configure --prefix=/home/masi/.local --with-python=/home/masi/.local
Для других расширений setup.py, таких как MySQLdb, вам просто нужно запустить setup.py script с правильной версией Python:
/home/masi/.local/bin/python setup.py install
Ответ 2
Вы не можете; не до /usr
, во всяком случае. Только суперпользователи могут писать в эти каталоги. Попробуйте установить Python на путь в вашем домашнем каталоге.
Ответ 3
Расширение ответа bobince, есть проблема, если у вас нет пакета разработки readline, установленного в вашей системе, и у вас нет доступа root.
Когда Python скомпилирован без readline, ваши клавиши со стрелками не будут работать в интерпретаторе. Однако вы можете установить автономный пакет readline следующим образом: Добавление функциональности чтения без повторной компиляции Python
С другой стороны, если вы предпочитаете компилировать python, используя локальную установку readline, вот как это сделать.
Перед тем, как рассказывал bobince, скомпилируйте и установите readline. Это шаги для этого:
Затем добавьте эту строку в свой .bash_profile script:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
И последнее, но не менее важное: выполните следующую команду
export LDFLAGS="-L$HOME/.local"
Надеюсь, это поможет кому-то!