Невозможно установить Python без доступа sudo
-
05-07-2019 - |
Вопрос
Я извлек, настроил и использовал make для установочного пакета на своем сервере.
Однако я не мог использовать сделать установку.Я получаю ошибку
[~/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
Я получаю ту же ошибку.
Как я могу бежать сделать установку без доступа к sudo?
Решение
Как я могу установить путь в моем домашнем каталоге?
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 по умолчанию, который & # 8220; #! / usr / bin / env python & # 8221; выберу.
Вы можете изменить настройку PATH, набрав просто & # 8220; python & # 8221; из консоли запустите эту версию, но это не поможет веб-приложениям, запущенным под другим пользователем.
Если вы компилируете что-то, что ссылается на Python (например, mod_wsgi), вы должны указать ему, где найти ваш Python, иначе он будет использовать системный. Это часто делается что-то вроде:
./configure --prefix=/home/masi/.local --with-python=/home/masi/.local
Для других расширений на основе setup.py, таких как MySQLdb, вам просто нужно запустить скрипт setup.py с правильной версией Python:
/home/masi/.local/bin/python setup.py install
Другие советы
Вы не можете; во всяком случае, не в / usr
. Только суперпользователи могут писать в эти каталоги. Попробуйте вместо этого установить Python в путь к домашней директории.
Расширяя ответ bobince, возникает проблема, если в вашей системе не установлен пакет разработки readline и у вас нет root-доступа.
Если Python скомпилирован без readline, клавиши со стрелками не будут работать в интерпретаторе.Однако вы можете установить автономный пакет readline следующим образом: Добавление функциональности Readline без перекомпиляции Python
С другой стороны, если вы предпочитаете компилировать Python, используя локальную установку readline, вот как это сделать.
Прежде чем делать то, что говорил Бобинс, скомпилируйте и установите readline.Вот шаги, которые нужно сделать:
- wget ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
- tar -zxvf readline-6.2.tar.gz
- чтение компакт-диска-6.2
- ./configure --with-prefix=$HOME/.local
- делать
- сделать установку
Затем добавьте эту строку в свой скрипт .bash_profile:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
И последнее, но не менее важное: выполните следующую команду
export LDFLAGS="-L$HOME/.local"
Я надеюсь, что это помогает кому-то!