5
votes

L'exécution de Jupyter Notebook à partir de cmd déclenche ModuleNotFoundError: aucun module nommé pysqlite2

Le problème:

Après avoir réinstallé Anaconda Je ne peux plus accéder à un dossier en utilisant la fenêtre de commande où j'ai des fichiers .pynb , tapez jupyter notebook et lancez les choses. J'obtiens ces erreurs:

C: \ scripts \ notebooks> jupyter notebook Traceback (appel le plus récent dernier): Fichier "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ services \ sessions \ sessionmanager.py", ligne 10, dans importer le fichier sqlite3 "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3__init __. py", ligne 23, dans à partir de l'importation sqlite3.dbapi2 * Fichier "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3 \ dbapi2.py", ligne 27, dans from _sqlite3 import * ImportError: le chargement de la DLL a échoué: Procedyre introuvable

Lors de la gestion de l'exception ci-dessus, une autre exception s'est produite:

Traceback (dernier appel en dernier): Fichier "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ Scripts \ jupyter-notebook-script.py", ligne 6, dans depuis notebook.notebookapp importer le fichier principal "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ notebookapp.py", ligne 86, dans depuis .services.sessions.sessionmanager importer le fichier SessionManager "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ services \ sessions \ sessionmanager.py", ligne 13, dans depuis pysqlite2 importer dbapi2 comme sqlite3 ModuleNotFoundError: Aucun module nommé 'pysqlite2'


Ce que j'ai essayé:


J'ai vérifié les nouveaux dossiers Anaconda, et tout semble être là où il devrait wrt sqlite , sqlite3 et pysqlite2.

Depuis la dernière fois que j'ai téléchargé Anaconda, il semble qu'ils aient changé la valeur par défaut installer des dossiers, donc j'étais sûr que tout irait bien après avoir modifié mes variables d'environnement utilisateur et système selon le message Le notebook Jupyter ne s'ouvrira pas à partir de l'invite de commande juste au cas où la vérification de l'option Ajouter au chemin lors de la réinstallation d'Anaconda n'était pas suffisante. Mais j'obtiens toujours les mêmes messages d'erreur.

Lorsque je lance Jupyter à partir d'Anaconda Navigator, tout fonctionne bien.

Une question similaire a été posée, mais sans réponse, pour Ubuntu ici: 2x ModuleNotFoundError Bloc-notes Jupyter


<.> notebook jupyter . Alors pourquoi s'embêter avec la fenêtre de commande? La commande d'invite anaconda n'ouvre pas automatiquement les fichiers ipynb dans le navigateur Web sourd. Ma configuration précédente avec la fenêtre de commande Windows (et un fichier batch) a fait cela et je pense que c'était très utile.


Détails du système:

Windows 7, 64 bit
Anaconda 2018.12
Jupyter Notebook 5.7.4
Python 3.7.1
IPython 7.2.0


0 commentaires

5 Réponses :


4
votes

Réponse courte:

Cela semble être un problème de version au 29.01.2019 uniquement lié à:

Anaconda3-2018.12-Windows-x86_64 :

Jupyter Notebook 4.3.1
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| 
IPython 5.1.0 

Vérifiez le list dans les détails ci-dessous pour voir les versions qui ne lèveront pas le ModuleNotFoundError: Aucun module nommé pysqlite2 lors du lancement de Jupyter à partir d'un batch, ou même en essayant d'installer nbExtensions.

Pour la version Anaconda3- 2018.12, Jupyter peut être lancé à partir d'un lot en utilisant la configuration de GokulDAS027 dans ce message , mais il ne s'ouvrira pas automatiquement dans votre navigateur Web par défaut. Vous pouvez également lancer Jupyter à partir d'Anaconda Navigator sans problème.

Les détails:


Solution 1 : Exécuter lot plus détaillé


Il s'avère que la suggestion de GokulDAS027 à la question Utiliser un .bat pour changer de répertoire et exécuter Jupyter pour une raison quelconque ouvrira Jupyter sans générer les messages d'erreur sqlite:

C: \ Users \ ** UserName ** \ Anaconda3 \ python.exe C: \ Users \ ** UserName ** \ Anaconda3 \ cwp.py C: \ Users \ ** UserName ** \ Anaconda3 C: \ Users \ ** UserName * * \ Anaconda3 \ python.exe C: \ Users \ ** UserName ** \ Anaconda3 \ Scripts \ jupyter-notebook-script.py "** emplacement du fichier **"

Sur mon système, Jupyter n'ouvrira pas automatiquement le navigateur Web par défaut. De plus, si vous souhaitez installer des extensions pour notebook, vous recevrez un message d'erreur associé. Comme je ne trouvais pas cela très satisfaisant, j'ai commencé à me demander si cela posait également un problème pour les versions ultérieures d'Anaconda:


Solution 2: Installez les anciennes versions d'Anaconda


J'ai remarqué des commentaires sur github qui pysqlite2 n'est pas utilisé dans Python 3 . J'étais à peu près certain que je n'avais pas le ModuleNotFoundError: aucun module nommé pysqlite2 il y a environ un an lorsque j'utilisais déjà Python 3, j'ai donc testé quelques anciennes installations Anaconda pour vérifier si oui ou non la même erreur serait générée.

Il semble que l'erreur pysqlite2 ne sera que déclenchée pour la toute dernière version (par 29.01.2019): p>

Anaconda3-2018.12

Python 3.6.1 |Anaconda 4.4.0 (64-bit)|
IPython 5.3.0

Avec les configurations système décrites ci-dessous (toujours sous Windows 7, 64 bits), tout fonctionne correctement, ce qui signifie:

  1. Jupyter peut être démarré à partir d'une invite de commande (pas seulement une invite Anaconda) en accédant à un dossier et en tapant jupyter notebook , et il est lancé automatiquement dans le navigateur Web par défaut.

  2. nbExtensions peut être installé en utilisant conda install -c conda-forge jupyter_contrib_nbextensions

Versions testées de Anaconda Archive p>

Anaconda3-5.3.1

Jupyter Notebook 5.6.0
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

Anaconda3-4.4.0

Jupyter Notebook 5.7.4
Python 3.7.1 (default, Dec 10 2018, 22:54:23) 
IPython 7.2.0

Anaconda2-4.3.1-Windows-x86_64

Jupyter Notebook 5.7.4
Python 3.7.1 (default, Dec 10 2018, 22:54:23) 
IPython 7.2.0


4 commentaires

je reçois ce problème aussi. je vais désinstaller "Anaconda3-2018.12-Windows" et essayer "Anaconda3-5.3.1-Windows-x86.exe" de l'archive. Fera rapport ici résout mon problème.


Fais ça! J'aimerais vraiment savoir si je ne suis pas le seul à avoir ce problème.


cela ne semblait pas fonctionner pour moi - toujours la même erreur. gist.github.com/andrewm4894/957cdb9561e1529f942373865f6a7fc0 . Je le fais fonctionner dans docker, alors je vais plutôt le faire à ce stade.


J'obtiens cette erreur sur Ubuntu, fwiw. J'ai d'abord voulu installer Jupyter dans un Virtualenv créé par Poetry, puis j'ai abandonné et essayé d'installer via Miniconda3. Je ne suis pas trop enclin à rétrograder Miniconda pour que cela fonctionne, il semble qu'un problème devrait être enregistré pour que cela soit corrigé.



2
votes

si vous avez installé le client oracle pour le paquet cx_Oracle, veuillez vérifier si vous avez / usr / lib dans le DYLD_LIBRARY_PATH . Essayez de supprimer / usr / bin du chemin et voyez si cela fonctionne.

J'ai eu le même problème et cela a fonctionné pour moi. Je l'ai essayé sur MacOS.


0 commentaires

2
votes

Cette réponse est pour les utilisateurs qui pourraient avoir compilé Python à partir des sources et aussi pour les utilisateurs qui n'ont pas de droits d'administrateur (par conséquent, je ne peux pas utiliser Homebrew ). J'ai rencontré la même erreur mais mon environnement python est personnalisé et je n'utilise pas anaconda ou pyenv. Remarque: mon système d'exploitation est macOS mojave 10.14.6 .

J'ai recompilé et reconfiguré sqlite manuellement à partir du paquet source. Étapes:

  1. Téléchargez sqlite tarfile depuis cette page .
  2. Accédez au /path/to/python_dir/Python-3.x.x/Modules où votre version Python est installée. (Parce que je ne suis pas l'administrateur, je l'ai installé ici: / Users / myusername / python3 .): /Users/myusername/python3/Python-3.6.8/Modules/
  3. Extraire sqlite sous / Modules / : tar zxf /Users/myusername/Downloads/sqlite.tar.gz
  4. cd sqlite
  5. configurer sqlite localement: ./configure --prefix = '/ Users / myusername / python3'
    note latérale: sans l'option prefix make install installera les fichiers à l'emplacement par défaut. Cochez cette réponse . Utilisez donc l'option prefix si votre python n'est pas à l'emplacement par défaut.
  6. make && make install
  7. retournez au dossier python et reconfigurez les binaires python, puis pointez sur sqlite :
    cd ../../ puis:
    ./configure --prefix = '/ Users / myusername / python3' --with-sqlite = '/ Users / myusername / python3' .
  8. make && make install

Remarque: il s'avère que si vous avez configuré Python manuellement et que vous ne pouvez pas installer une bibliothèque en utilisant pip , vous devrez probablement configurer et recompiler ce paquet à partir des sources. Téléchargez le fichier tar de votre package et répétez les étapes ci-dessus pour votre package. J'ai également eu des problèmes avec zlib et openssl et j'ai fait la même chose que ci-dessus.
Quelques autres discussions que vous pourriez trouver utiles: ceci , peut-être cela aussi < / p>


0 commentaires

7
votes

Je suis resté coincé sur le même problème pendant une journée. a finalement trouvé la solution qui fonctionne maintenant.

Le problème semble provenir de l'absence de sqlite3.dll dans le chemin ". \ Anaconda \ Dlls \". Je l'ai résolu en copiant simplement ce fichier .dll de \ Anaconda3 \ Library \ bin et en le plaçant sous le chemin mentionné ci-dessus. C'était un sauveur de vie.

Merci, Darsan


1 commentaires

Super! J'ai hâte de le vérifier!