pip - Requirement already satisfied?

2019-01-24 13:13发布

问题:

pip recognize global installed packages..?! :-(

I've used virtualenvwrapper preactivate hook to clean PYTHONPATH,

export PYTHONPATH="" 

then echo $PYTHONPATH returns empty string, but this didn't help.

What's wrong?

bentzy@lama:~$ 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)bentzy@lama:~$ which pip
/home/bentzy/.virtualenvs/test/bin/pip
(test)bentzy@lama:~$ sudo pip install simplejson
Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/lib    /python2.7/dist-packages
Cleaning up...
(test)bentzy@lama:~$ echo $PYTHONPATH

(test)bentzy@lama:~$ 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)

回答1:

You are using sudo to install simplejson, but if you use sudo your $PATH may be changed, and that seems to be the problem.

Just use pip install simplejson (no sudo included) and it is probably going to work.

Use sudo only when you want to affect your whole system.



回答2:

Already satisfied means that you already install "it".

try: pip uninstall simplejson

and then: pip install simplejson