Η εγκατάσταση Python pip αποτυγχάνει: άκυρη εντολή egg_info

Διαπιστώνω ότι πρόσφατα συχνά όταν προσπαθώ να εγκαταστήσω ένα πακέτο Python χρησιμοποιώντας pip, λαμβάνω το(α) παρακάτω σφάλμα(τα).

Βρήκα μια αναφορά στο διαδίκτυο ότι πρέπει κανείς να χρησιμοποιήσει το "python2 setup.py install" από τον κατάλογο λήψης, και όντως βρίσκω ότι αυτό θα λειτουργήσει στη συνέχεια αν βρω και κατεβάσω χειροκίνητα το πακέτο (από το pypi).

Αλλά, δεν ξέρω πού κατεβάζει το pip τα πακέτα και/ή γιατί αποτυγχάνει με αυτόν τον τρόπο.

Προσπάθησα να κάνω μια αναβάθμιση του pip, αλλά και αυτή απέτυχε με παρόμοιο τρόπο, με ένα σωρό σφάλματα "Άγνωστη επιλογή διανομής" (entry_points, zip_safe, test_suite, tests_require)!

Η προσπάθεια χρήσης του pypm της ActiveState's αποτυγχάνει, επειδή έχει μικρότερη βάση βιβλιοθηκών και δεν περιλαμβάνει αυτά τα πακέτα.

C:\test>pip install requests-oauth
Downloading/unpacking requests-oauth
  Downloading requests-oauth-0.4.1.tar.gz
  Running setup.py egg_info for package requests-oauth
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
      warnings.warn(msg)
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
      warnings.warn(msg)
    usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c cmd --help

    error: invalid command 'egg_info'
    Complete output from command python setup.py egg_info:
    E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)

E:\Plang\ActivePython\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)

usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: -c --help [cmd1 cmd2 ...]
   or: -c --help-commands
   or: -c cmd --help

error: invalid command 'egg_info'
Λύση

Εγκαταστήστε το distribute, το οποίο συνοδεύεται από το egg_info.

Θα πρέπει να είναι τόσο απλό όσο το pip install Distribute.

Σχόλια (11)

Καθώς το distribute έχει συγχωνευτεί πίσω στο setuptools, συνιστάται τώρα να εγκαταστήσετε/αναβαθμίσετε το setuptools αντί αυτού:

[sudo] pip install --upgrade setuptools
Σχόλια (2)

Λάβετε υπόψη ότι μπορεί να χρειαστεί να κάνετε pip install --upgrade Distribute αν το έχετε ήδη εγκατεστημένο και το pip σας μπορεί να ονομάζεται pip2 για Python2 σε μερικά συστήματα (στο δικό μου είναι).

Σχόλια (2)