ImportError: No module named 'util'
Je sais qu'il existe de nombreuses variantes de cette question, mais je ne pouvais pas en trouver un comme le mien. Lorsque j'essaie d'importer le module illustris_python
je reçois le message d'erreur ImportError: No module named 'util'
Le module util est dans le répertoire ci-dessous le module snapshot.py
qui en a besoin donc je suis confus quant à pourquoi python voit un module , mais pas les autres.
J'ai inclus l'importation d'appel ainsi que le traçage ci-dessous.
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 3.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
%guiref -> A brief reference about the graphical user interface.
In [1]: import illustris_python as il
Traceback (most recent call last):
File "<ipython-input-1-ff06d24b4811>", line 1, in <module>
import illustris_python as il
File "C:\WinPython-64bit-3.4.3.2\python-3.4.3.amd64\lib\site- packages\illustris_python\__init__.py", line 3, in <module>
from . import *
File "C:\WinPython-64bit-3.4.3.2\python-3.4.3.amd64\lib\site- packages\illustris_python\snapshot.py", line 6, in <module>
from util import partTypeNum
ImportError: No module named 'util'
In [2]:
est ce répertoire sur votre PYTHONPATH?
Son
Possibilité 1: vous Êtes en cours d'exécution à partir de l'intérieur du répertoire que vous avez cloné/unzipped/whatever
il n'est pas dans le PYTHONPATH.
Possibilité 2: Ne
Son
site-packages
vraiment ne doit pas être sur sa PYTHONPATH
. Il va finir sur sys.path
de toute façon.Possibilité 1: vous Êtes en cours d'exécution à partir de l'intérieur du répertoire que vous avez cloné/unzipped/whatever
illustris_python
? Si oui, il peut facilement se confondre sur les copies locales contre les copies installées.il n'est pas dans le PYTHONPATH.
Possibilité 2: Ne
illustris_python
support de Python 3?
OriginalL'auteur Surfcast23 | 2015-04-30
Vous devez vous connecter pour publier un commentaire.
Regardant le BitBucket repo, je suis sûr que le problème est que ce code est en Python 2.x-seulement. Quelqu'un l'a fait un peu de travail pour les nettoyer pour un éventuel port, mais il y a encore beaucoup à faire.
Cette erreur est près du sommet de
snapshot.py
:Dans la version 2.6 de Python, c'est un relative d'importation (c'est "obsolète" par PEP 328, mais je suis sûr que vous n'avez pas réellement obtenir de l'avertissement par défaut...), il regarde d'abord dans le même package que
snapshot.py
, où il trouve unutil.py
, avant de regarder à travers votresys.path
.En Python 3.4, c'est un absolue l'importation, de sorte qu'il semble tout simplement dans votre
sys.path
(enfin, il appelle votre haut-niveau module, des télémètres, mais généralement, cela signifie que la recherche dans votresys.path
), et il n'y a pas deutil.py
.Si vous essayez de terminer le portage de cet exemple de code à 3.x vous-même, de passer à une explicite relative à l'importation:
__intit__
moduleTu veux dire
__init__
, pas_int_
, droit? Je ne serais pas surpris si ce n'est pas la seule Python 2-vs-3 bug dans l'ensemble du projet. Si vous souhaitez le porter vous-même, vous allez devoir essayer de déboguer tous les problèmes que vous pouvez, et d'ouvrir de nouvelles questions pour chacun où vous êtes coincé.je vous remercie pour toute l'aide!
OriginalL'auteur abarnert
Droit maintenant, je dois résoudre le problème que vous avez. Ce que j'ai fait est d'ouvrir le terminal dans le sens de "illustris_python". Espérons qu'il pourrait être utile.
OriginalL'auteur user8197454