Модули не найдены - я не могу запустить файл .py, разработанный с помощью PyCharm - PullRequest
1 голос
/ 16 июня 2019

Я использую PyCharm для разработки проекта на Python, который использует внешнюю библиотеку win10toast.Я установил win10toast с помощью PyCharm.Тем не менее, когда я пытался запустить файл .py с помощью cmd (т.е. внешний файл Python), появляется ошибка:

ModuleNotFoundError: No module named 'win10toast'.

У меня есть Python 3.6.4.Я установил win10toast с помощью PyCharm.

from win10toast import ToastNotifier

Я ожидаю, что программа запустится без ошибок, но в настоящее время я получаю сообщение об ошибке ModuleNotFound.

Ответы [ 3 ]

1 голос
/ 16 июня 2019

Я бы посоветовал вам не использовать PyCharm для установки пакетов, по крайней мере, нет если результат отклоняется от выполнения «установки pip» в командной строке. Я не вижу причин привлекать PyCharm к настройке установок Python. Это просто напрашивается на неприятности.

Я признаю, что я не знаком с практикой, которую предлагаю вам избежать. Я использую PyCharm почти с той недели, когда он вышел (до этого я был заядлым пользователем плагина IntelliJ Python), и никогда не задумывался о том, чтобы что-то делать, кроме установки модулей Python из командной строки. Таким образом, я уверен, куда именно направляются эти модули (в какую базовую установку Python или в venv). Кроме того, я знаю, что делаю все возможное, чтобы свести к минимуму разницу между запуском кода в PyCharm и его запуском в командной строке. Я делаю свое предложение исключительно на основе этой практики, которая никогда не ошибалась для меня.

У меня установлено несколько базовых версий Python, и помимо них определены десятки venvs. PyCharm отлично позволяет мне указать, какие из них я хочу применить к любому проекту или конфигурации Run / Debug, и использовать их без проблем. Но я снова управляю этими средами исключительно из командной строки.

Я все еще испытываю проблемы с переключением между командной строкой и PyCharm, когда один модуль ссылается на другие в одном дереве исходных текстов. Моя компания придумала простое решение для этого, которое гарантирует, что все наши скрипты Python все еще работают при удалении от PyCharm и его логики для поддержки пути Python в проекте. Я объяснил механизм раньше на S.O. Я был бы счастлив найти это, если кому-то будет интересно.

1 голос
/ 16 июня 2019

Python может быть сложно правильно запустить, потому что он чувствителен к тому, где вы установили свои зависимости (например, внешние библиотеки и пакеты). Если вы установили Python в один каталог, но случайно установили внешнюю библиотеку в другой каталог, при запуске вашей программы .py она не сможет вызвать внешнюю библиотеку, поскольку она не существует в той же библиотеке, в которой работает Python. от.

Поиск, где вы установили Python на свой компьютер, а затем найти, где вы установили внешнюю библиотеку. Как только вы найдете, где вы установили внешнюю библиотеку, переместите все содержимое пакета в тот же каталог, где установлен Python. Или, что еще лучше, переустановите внешнюю библиотеку с помощью pip в тот же каталог, что и Python.

Если вы работаете на Mac, Python и связанные с ним зависимости обычно хранятся где-то в / User / bin. Если вы работаете в Windows, он будет храниться где-то в вашем каталоге C: // (возможно, где-то в C: \ Users \ username \ Local \ AppData). Если вы используете Linux, он будет храниться где-то в / usr / bin. Что бы вы ни делали, не перемещайте Python откуда угодно, потому что иногда это может испортить вашу систему для некоторых операционных систем, таких как Mac, которая поставляется с собственной версией Python (я думаю, Python 2.7 устарел в любом случае).

Наконец, у вас может быть две разные версии Python на вашем компьютере, что является распространенным явлением; Python 2.7 и Python 3+. Если вы написали свою программу в одной версии, но запускали ее из другой, внешнюю библиотеку можно вызывать только из той версии Python, в которую вы ее установили. Попробуйте запустить вашу .py программу с python3 вместо python (или наоборот) и посмотрите, что получится. Если он работает с одной версией Python над другой, это говорит о том, что внешняя библиотека установлена ​​в каталоге другой версии.

Это должно решить вашу проблему.

0 голосов
/ 16 июня 2019

Библиотека win10toast установлена ​​в каталоге: YOUR_PYCHARM_WORKSPACE\PycharmProjects\YOUR_PROJECT_NAME\venv\Lib\site-packages, но когда вы запускаете свою программу с использованием cmd , интерпретатор pycharm использует каталог site-packages, в который вы установили python.Например: C:\Python27\Lib\site-packages Итак, вы можете установить библиотеку win10toast в этот каталог Windows, используя pip .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...