Модуль может импортировать через приглашение анаконды, но не через python.exe

Я новичок в python и нашел что-то неприятное, но интересное.

Моя установка python была выполнена через anaconda, и я установил модуль prtools с помощью pip. Затем я обнаружил, что модуль импортирует только при использовании Spyder, а не при использовании VSCode. Итак, я пошел исследовать и ударился о стену. Я обнаружил, что когда я открываю приглашение anaconda и набираю python, он открывает интерпретатор python, и я могу без проблем импортировать модуль prtools. Затем я использовал where python, чтобы найти его местоположение, что дало мне два местоположения:

"E: \ ProgramData \ Anaconda3 \ python.exe"

и

"C: \ Users \ Joris \ AppData \ Local \ Microsoft \ WindowsApps \ python.exe"

Щелчок по второй открывает только магазин Windows. И щелчок по первому открывает консоль python (я считаю, что она называется). Теперь, когда я набираю import prtools, выдает ошибку импорта:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\ProgramData\Anaconda3\lib\site-packages\prtools\__init__.py", line 1, in <module>
    from prtools.dataset import *
  File "E:\ProgramData\Anaconda3\lib\site-packages\prtools\dataset.py", line 10, in <module>
    import matplotlib.pyplot as plt
  File "C:\Users\Joris\AppData\Roaming\Python\Python37\site-packages\matplotlib\pyplot.py", line 2356, in <module>
    switch_backend(rcParams["backend"])
  File "C:\Users\Joris\AppData\Roaming\Python\Python37\site-packages\matplotlib\pyplot.py", line 221, in switch_backend
    backend_mod = importlib.import_module(backend_name)
  File "E:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\Joris\AppData\Roaming\Python\Python37\site-packages\matplotlib\backends\backend_tkagg.py", line 2, in <module>
    from .backend_agg import FigureCanvasAgg
  File "C:\Users\Joris\AppData\Roaming\Python\Python37\site-packages\matplotlib\backends\backend_agg.py", line 45, in <module>
    from PIL import Image
  File "E:\ProgramData\Anaconda3\lib\site-packages\PIL\Image.py", line 69, in <module>
    from . import _imaging as core
ImportError: DLL load failed: The specified module could not be found.

Кто-нибудь знает, откуда эта проблема?

заранее спасибо


person JroisR    schedule 26.02.2020    source источник


Ответы (1)


У вас установлено несколько интерпретаторов Python. Со своего терминала вы разговариваете с другим интерпретатором Python, чем когда вы выполняете свой проект через VSC, который использует другой интерпретатор Python.

В вашем терминале напрямую запустите python с "E:\ProgramData\Anaconda3\python.exe" и "C:\Users\Joris\AppData\Local\Microsoft\WindowsApps\python.exe"

Вы можете заменить эти пути на python.

Попробуйте найти различия с python -V, python -m site.
Последний вызов перечисляет корневые папки для установленных вами модулей python. В одной из этих папок вы найдете файлы Python для prtools.

Итак, проблема в том, что у вас несколько установок python, и в одной из них был установлен prtools.

Рекомендуется работать с одной версией Python и использовать venv (виртуальные среды).

person Tin Nguyen    schedule 26.02.2020