Υπάρχει κάποιος τρόπος να κάνετε το pip
να παίζει καλά με πολλαπλές εκδόσεις της Python; Για παράδειγμα, θέλω να χρησιμοποιήσω το pip
για να εγκαταστήσω ρητά πράγματα είτε στην εγκατάσταση του site μου 2.5 είτε στην εγκατάσταση του site μου 2.6.
Για παράδειγμα, με το easy_install
, χρησιμοποιώ το easy_install-2.{5,6}
.
Και, ναι - γνωρίζω για το virtualenv, και όχι - δεν αποτελεί λύση για το συγκεκριμένο πρόβλημα.
Η τρέχουσα σύσταση είναι να χρησιμοποιήσετε την python -m pip
, όπου python
είναι η έκδοση της Python που θέλετε να χρησιμοποιήσετε. Αυτή είναι η σύσταση επειδή λειτουργεί σε όλες τις εκδόσεις της Python και σε όλες τις μορφές του virtualenv. Για παράδειγμα:
# The system default python:
$ python -m pip install fish
# A virtualenv's python:
$ .env/bin/python -m pip install fish
# A specific version of python:
$ python-3.6 -m pip install fish
Προηγούμενη απάντηση, αφήνεται για τις επόμενες γενιές:
Από την έκδοση 0.8, το Pip υποστηρίζει το pip-{version}
. Μπορείτε να το χρησιμοποιήσετε όπως και το easy_install-{version}
:
$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage
EDIT: Το pip άλλαξε το σχήμα του ώστε να χρησιμοποιεί το pipVERSION
αντί του pip-VERSION
στην έκδοση 1.5. Θα πρέπει να χρησιμοποιήσετε το ακόλουθο αν έχετε pip >= 1.5
:
$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage
Ελέγξτε το https://github.com/pypa/pip/pull/1053 για περισσότερες λεπτομέρειες
Αναφορές:
/path/to/python2.{5,6} /path/to/pip install PackageName
doesn't work?
Για να δουλέψει αυτό σε οποιαδήποτε έκδοση python που δεν έχει ήδη εγκατεστημένο το pip θα πρέπει να κατεβάσετε το pip και να κάνετε python*version* setup.py install
. Για παράδειγμα python3.3 setup.py install
. Αυτό επιλύει το σφάλμα εισαγωγής στα σχόλια. (Όπως πρότεινε ο @hbdgaf)
Έτσι, προφανώς υπάρχουν πολλαπλές εκδόσεις του easy_install
και του pip
. Φαίνεται να είναι ένα μεγάλο χάος. Τέλος πάντων, αυτό έκανα για να εγκαταστήσω το Django για Python 2.7 στο Ubuntu 12.10:
$ sudo easy_install-2.7 pip
Searching for pip
Best match: pip 1.1
Adding pip 1.1 to easy-install.pth file
Installing pip-2.7 script to /usr/local/bin
Using /usr/lib/python2.7/dist-packages
Processing dependencies for pip
Finished processing dependencies for pip
$ sudo pip-2.7 install django
Downloading/unpacking django
Downloading Django-1.5.1.tar.gz (8.0Mb): 8.0Mb downloaded
Running setup.py egg_info for package django
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
Running setup.py install for django
changing mode of build/scripts-2.7/django-admin.py from 644 to 755
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>