2013-12-14 3 views
8

voglio installare pacchetto python NetworkX nel server che uso, e io di ricerca prima di pongo questa domanda, si dice di usareInstallare il pacchetto python senza accesso root

pip install --user networkx 

ma non funziona e l'errore di linux è

Usage: /usr/bin/pip install [OPTIONS] PACKAGE_NAMES... 

/usr/bin/pip install: error: no such option: --user 

chiunque può aiutare? Come posso installare il pacchetto networkx nel server?

risposta

7

Se virtualenv è installato sul server, è possibile creare un ambiente virtuale:

virtualenv your_env_name 

quindi attivarle:

source your_env_name/bin/activate 

Quindi installare tutti i pacchetti desiderati tramite

pip install packagename 

Tuttavia, se virtualenv non è ancora installato, dovresti dare un'occhiata a this thread dove la stessa domanda ha già avuto risposta.

è ancora meglio usare un virtualenv separato per ognuno dei vostri progetti, perché allora si può facilmente esportare le dipendenze utilizzando

pip freeze > requirements.txt 

Si potrebbe aggiungere questo requirements.txt al vostro controllo di versione, e più tardi, se si desidera installare il vostro progetto su un altro computer, è possibile installare tutte le dipendenze in una sola volta senza fare confusione con i numeri di versione, ecc:

pip install -r requirements.txt 
4

Utilizzare virtualenv per creare un ambiente python locale in modo che non sia necessario l'accesso di root.

Ci sono altri strumenti in cima a virtualenv come pyenv che sono più facili da usare.

4

forse avete bisogno di una nuova versione di pip? La mia versione 1.1 funziona come previsto

$ pip install --version 
pip 1.1 from /usr/lib/python2.7/dist-packages (python 2.7) 
$ pip install --user networkx 
Requirement already satisfied (use --upgrade to upgrade): networkx in /home/aric/.local/lib/python2.7/site-packages 

è possibile aggiornare pip come questo (istruzioni anche qui: http://www.pip-installer.org/en/latest/installing.html)

$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py 

$ python get-pip.py --user 
Downloading/unpacking pip from https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz#md5=6afbb46aeb48abac658d4df742bff714 
    Downloading pip-1.4.1.tar.gz (445kB): 445kB downloaded 
    Running setup.py egg_info for package pip 

    warning: no files found matching '*.html' under directory 'docs' 
    warning: no previously-included files matching '*.rst' found under directory 'docs/_build' 
    no previously-included directories found matching 'docs/_build/_sources' 
Installing collected packages: pip 
    Running setup.py install for pip 

    warning: no files found matching '*.html' under directory 'docs' 
    warning: no previously-included files matching '*.rst' found under directory 'docs/_build' 
    no previously-included directories found matching 'docs/_build/_sources' 
    Installing pip script to /home/aric/.local/bin 
    Installing pip-2.7 script to /home/aric/.local/bin 
Successfully installed pip 
Cleaning up... 
$ pip --version 
pip 1.1 from /usr/lib/python2.7/dist-packages (python 2.7) 
$ ~/.local/bin/pip --version 
pip 1.4.1 from /home/aric/.local/lib/python2.7/site-packages (python 2.7)