2013-02-02 7 views
5

pip riconosce i pacchetti installati globali ..?! :-(pip - Requisito già soddisfatto?

Ho usato virtualenvwrapper gancio preattivare per pulire PYTHONPATH,

export PYTHONPATH="" 

then echo $ PYTHONPATH ritorna stringa vuota, ma questo non ha aiutato.

Cosa c'è che non va?

[email protected]:~$ mkvirtualenv test 
New python executable in test/bin/python 
Installing setuptools............done. 
Installing pip...............done. 
virtualenvwrapper.user_scripts creating /home/bentzy/.virtualenvs/test/bin/predeactivate 
virtualenvwrapper.user_scripts creating /home/bentzy/.virtualenvs/test/bin/postdeactivate 
virtualenvwrapper.user_scripts creating /home/bentzy/.virtualenvs/test/bin/preactivate 
virtualenvwrapper.user_scripts creating /home/bentzy/.virtualenvs/test/bin/postactivate 
virtualenvwrapper.user_scripts creating /home/bentzy/.virtualenvs/test/bin/get_env_details 
(test)[email protected]:~$ which pip 
/home/bentzy/.virtualenvs/test/bin/pip 
(test)[email protected]:~$ sudo pip install simplejson 
Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/lib /python2.7/dist-packages 
Cleaning up... 
(test)[email protected]:~$ echo $PYTHONPATH 

(test)[email protected]:~$ pip --version 
pip 1.2.1 from /home/bentzy/.virtualenvs/test/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg (python 2.7) 
+0

Non ho usato virtualenvwrapper, ma con virtualenv io uso l'opzione --no-site-packages. Può mkvirtualenv passare questa opzione? –

+0

Sì, ma non è questo il problema. A partire da virtualenv 1.7, i pacchetti --no-site sono diventati di default ed è deprecato. Sto usando 1.8.2. Comunque, l'ho provato anche io e ancora non ho funzionato come previsto ... – bentzy

+0

Prova a stampare 'sys.path' e guarda cosa c'è. – Aman

risposta

9

Si sta utilizzando sudo per installare simplejson, ma se si utilizza sudo il $PATH può essere modificato e sembra essere il problema.

Basta usare pip install simplejson (no sudo incluso) e probabilmente funzionerà.

Utilizzare sudo solo quando si desidera influenzare l'intero sistema.

+0

Esattamente! Grazie. – bentzy

1

Già soddisfatto significa che è già installato "it".

prova: pip disinstallazione simplejson

e poi: pip install simplejson