Topic: Installazione modulo Openpyxl  (Letto 155 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Fainuz

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Installazione modulo Openpyxl
« il: Febbraio 07, 2019, 22:52 »
Ciao a tutti,
sto incontrando estreme difficoltà ad installare il modulo openpyxl.
Utilizzo una versione 3.7.2 di python, e da quello che ho capito su mac risulta preinstallata una versione 2.7.
Ho provato dalla shell di terminal ad eseguire le istruzioni che ho trovato in rete (utilizando pip) ma senza successo.
Se utilizzo il comando:

pip install --user openpyxl

il modulo viene installato correttamente, ma nell'IDLE di Python 3 non riesco ad importare il modulo:

ModuleNotFoundError: No module named 'openpyxl'

se invece provo ad installare (sempre da terminal) il modulo con il comando:

pip3 install --user openpyxl

mi viene restituito il seguente errore:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3", line 7, in <module>
from pip._internal import main
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/__init__.py", line 3, in <module>
from pip import openpyxl
ImportError: cannot import name 'openpyxl' from 'pip' (/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip/__init__.py)

Qualcuno mi sa indicare come risolvere, sto diventando matto :question: :question: :question:

Grazie mille

Offline bebo

  • python erectus
  • ***
  • Post: 211
  • Punti reputazione: 0
    • Mostra profilo
    • bebo_sudo's personal homepage
Re:Installazione modulo Openpyxl
« Risposta #1 il: Febbraio 08, 2019, 00:50 »
A occhio direi che hai pasticciato il pip di sistema aggiornandolo con sudo, vedi ad es. https://stackoverflow.com/questions/49836676/error-after-upgrading-pip-cannot-import-name-main

Direi che dovresti disinstallare pip e reinstallarlo. Per la disinstallazione di pip dovrebbe funzionare un:
python3 -m pip uninstall pip
ma per l'upgrade non saprei su mac. Forse usando get-pip https://pip.pypa.io/en/stable/installing/ ? ma potrebbe fare ulteriori casini
Cosa hai usato per installare python3?

Se non hai pacchetti necessari installati sul python di sistema, forse ti conviene disinstallare direttamente python3 e reinstallarlo, e poi usare SEMPRE virtualenv o pipenv, in modo da evitare questo genere di problemi in futuro.

Offline nuzzopippo

  • python unicellularis
  • *
  • Post: 38
  • Punti reputazione: 0
    • Mostra profilo
Re:Installazione modulo Openpyxl
« Risposta #2 il: Febbraio 08, 2019, 08:37 »
Se posso dare una segnalazione, non saprei quanto efficace per il mac

Ho avuto un analogo problema un paio di mesi fa installando le wxPython sul mio sistema linux, ricevevo questo errore :

:~$ pip3 install --user wxPython
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 7, in <module>
from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

l'errore era comune, ad ogni tentativo d'uso per installazione di pacchetti, tanto al pip della versione 2.x quanto per la versione 3.x, coesistenti come da default.

dopo alcune ricerche ho risolto scaricando il file get-pip.py da https://bootstrap.pypa.io/get-pip.py e facendo una re-installazione forzata del pip, questo l'output

:~$ sudo python3 get-pip.py --force-reinstall
The directory '/home/nuzzo/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/nuzzo/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pip
Downloading https://files.pythonhosted.org/packages/c2...y3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 172kB/s
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Successfully uninstalled pip-9.0.1
Successfully installed pip-18.1


dalla reinstallazione forzata l'installazione dei pacchetti tramite pip funziona tanto per la versione 2.x quanto per la 3.x di python.

Provando i virtualenv ho visto che torna in auge il pip 9.0.1 sostituito e viene l'errore alla installazione di pacchetti in virtualenv, ogni volta mi tocca reinstallare il pip nel virtualenv.

Ovviamente chiedo ai più esperti di esprimere parere in merito :
suggerirei allo OP di provare in un virtualenv il sistema sopra adottato (in maniera da lasciare integro il sistema base) e vedere se con tale metodo la funzionalità del pip viene ripristinata ... va da se che in un virtualenv non vi è bisogno di re-installazione da superutente.

Offline Fainuz

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re:Installazione modulo Openpyxl
« Risposta #3 il: Febbraio 09, 2019, 14:07 »
@bebo @nuzzopippo
Innanzitutto grazie delle dritte!!
comunque come non detto finalmente sono riuscito a risolvere, per qualche strano motivo il file __init__.py nella cartella non era quello corretto, ho downloadato nuovamente il package e sostituito il file nella directory e finalmente riesco ad importare correttamente il modulo!!!!  :party: :party: :party: