Impossibile installare Python senza accesso sudo
-
05-07-2019 - |
Domanda
Ho estratto, configurato e usato make per il pacchetto di installazione nel mio server.
Tuttavia, non ho potuto usare make install . Ottengo l'errore
[~/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
Corro la cartella con
chmod +x Python-2.6.1
Ottengo sempre lo stesso errore.
Come posso eseguire make install senza accesso sudo?
Soluzione
Come posso installare su un percorso nella mia home directory?
mkdir /home/masi/.local
cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install
Quindi esegui usando:
/home/masi/.local/bin/python
Allo stesso modo se hai degli script (es. CGI) che richiedono la tua versione utente di Python devi dirli esplicitamente:
#!/home/masi/.local/bin/python
invece di usare il sistema predefinito Python che & # 8220; #! / usr / bin / env python & # 8221; sceglierà.
Puoi modificare le impostazioni del PERCORSO per scrivere semplicemente & # 8220; python & # 8221; dalla console esegui quella versione, ma non sarà utile per le app Web eseguite con un altro utente.
Se compili qualcosa che si collega a Python (es. mod_wsgi) devi dirgli dove trovare il tuo Python o userà invece quello di sistema. Questo è spesso fatto qualcosa del tipo:
./configure --prefix=/home/masi/.local --with-python=/home/masi/.local
Per altre estensioni basate su setup.py come MySQLdb devi semplicemente eseguire lo script setup.py con la versione corretta di Python:
/home/masi/.local/bin/python setup.py install
Altri suggerimenti
Non puoi; non / usr
, comunque. Solo i super utenti possono scrivere in quelle directory. Prova invece a installare Python in un percorso nella tua home directory.
Estendendo la risposta bobince, c'è un problema se non hai il pacchetto di sviluppo readline installato nel tuo sistema e non hai accesso root.
Quando Python viene compilato senza readline, i tasti freccia non funzioneranno nell'interprete. Tuttavia, è possibile installare il pacchetto standalone readline come segue: Aggiunta della funzionalità Readline senza ricompilare Python
D'altra parte, se preferisci compilare Python usando un'installazione locale di readline, ecco come.
Prima di fare come diceva Bobince, compilare e installare readline. Questi sono i passaggi per farlo:
- wget ftp://ftp.cwru.edu/pub/ bash / readline-6.2.tar.gz
- tar -zxvf readline-6.2.tar.gz
- cd readline-6.2
- ./configure --with-prefix = $ HOME / .local
- make
- make install
Quindi, aggiungi questa riga al tuo script .bash_profile:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
Ultimo, ma non meno importante, eseguire il seguente comando
export LDFLAGS="-L$HOME/.local"
Spero che questo aiuti qualcuno!