Содержание
- Pycharm выдает ошибку «не удается найти модуль __main__» »
- Установите Python, Numpy, Matplotlib, Scipy в Windows
- How to fix python can’t find ‘__main__’ module error in easy 2 ways?
- What is __main__ in python?
- Why does the error occur?
- Code example 1
- Code example 2
- How to fix the python can’t find ‘__main__’ module error?
- Add the main module to your script
- Move your script to the same directory as your main module
- Conclusion
- Python Error Can’t Find Main Module
- Resolve the can’t find ‘__main__’ module Error in Python
- Conclusion
- Работа с ошибками в Python
- Заголовок
- Чтение Traceback 1
- Чтение Traceback 2
- Некоторые ошибки с примерами кода
- Ошибки в синтаксисе
- Ошибки в логике
Pycharm выдает ошибку «не удается найти модуль __main__» »
Установите Python, Numpy, Matplotlib, Scipy в Windows
Всякий раз, когда я пытаюсь запустить скрипт через Virtualenv в pycharm, я получаю такую ошибку:
Все работает нормально через idle или vs code. Я полагаю, что это должно быть что-то с тем, как я настроил свой pycharm, но понятия не имею, что.
edit: это происходит независимо от того, что я запускаю, даже с простой функцией печати.
изменить: даже при выборе обычного интерпретатора Python, то же самое происходит только в pycharm
- 3 Можете ли вы показать нам свой код?
- Что бы я ни бегал. Даже пробовал простую печать («бла бла») prntscr.com/kn60cu
- 1 Как вы запускаете код? Это не похоже на файл Python, он не заканчивается на .py
- Он заканчивается на py, и это файл python, вы можете видеть, что он заканчивается на test.py и значок python рядом с файлом. Разобрался в чем дело, отправил ответ. спасибо, ребята
Разобрался в чем дело. В окне конфигурации в pycharm мне нужно было выбрать правильный путь к скрипту:
- 2 Путь к сценарию вводит в заблуждение (ИМХО), поскольку он также должен включать файл сценария.
В вашем Pycharm:
- Выбрать Run — Edit Configurations
- В Configuration tabs , Выбрать Module name в опции Choose target to run и введите имя вашего файла python
- Нажмите Apply а также OK кнопка
Или простой способ — когда вы запускаете свой код в первый раз (в новом файле), просто введите клавиатуру Alt+Shift+F10 для запуска и сохранения конфигурации. Во второй раз (после сохранения конфигурации) просто введите Alt+F10 для запуска вашего кода.
- также называется «путь к сценарию»
Перейдите в «Редактировать конфигурацию» и укажите только свое имя файла, например filename.py
Существующий путь ——> C:Usersnp4PycharmProjectsTESTvenv
Попробуйте с этим ——> C:Usersnp4PycharmProjectsTESTvenvMultiSites.py
Я столкнулся с этой проблемой, когда мой cmd был вынужден «Завершить задачу» диспетчером задач. Моя проблема решена, когда я перезапускаю свою IDE.
«Открыть диалоговое окно« Редактировать настройки запуска / отладки »» (вверху, рядом с «Выполнить») «Изменить конфигурации» «Путь к сценарию:» -> выберите правильный путь к сценарию.
В Pycharm (Ubuntu):
- Создать новый проект
- Дайте название проекта
- Щелкните правой кнопкой мыши папку bin
- Создать новый файл Python
- Напишите свой код
- Верхняя правая сторона: Добавить конфигурацию
- Левая сторона: щелкните правой кнопкой мыши знак «+»
- Введите полное имя файла
- Home / Downloads / myfile.py как «Путь к сценарию»
- python 2.x / 3.x как интерпретатор Python
- Нажмите «Применить / ОК»
Я исправил это, удалив значения из Возможности переводчика в конфигурациях запуска / отладки. Пытаясь добавить интерпретатор, я добавил путь Python к указанному полю.
После расчистки поля все наладилось.
Ты можешь найти run/debug configuration настройки в раскрывающемся списке слева от значка запуска в правом верхнем углу окна pycharm.
Источник
How to fix python can’t find ‘__main__’ module error in easy 2 ways?
Python can’t find ‘__main__’ module is one of the most common errors that can occur when running a Python script. We’ll cover why this error occurs and provide two different code examples that demonstrate how it can happen. We’ll also show you how to fix the error so that you can continue developing your web applications with Python.
What is __main__ in python?
__main__ is a special name in Python that is used to indicate the source file where the program execution starts. Every Python program has a ‘__main__’ module, and the code within that module is executed when the program is run. The ‘__main__’ module can be located in any file, but it is typically placed in a file named ‘ main.py ‘.
For example, consider the following ‘main.py’ file:
When this program is run, the output will be as follows:
Why does the error occur?
There are two main reasons why the python can’t find ‘__main__’ module error might occur. The first reason is that you haven’t specified the main module in your Python script. The second reason is that your main module is not located in the same directory as your Python script. We’ll discuss each of these reasons in more detail below.
Code example 1
Let’s say you have a Python script named my_script.py and it contains the following code:
If you try to run this script, you’ll get the python can’t find ‘__main__’ module error
This is because we haven’t specified the main module in our script. Python will look for a module named __main__ and, if it can’t find one, it will throw an error. To fix this, we need to add the main module to our script. We can do this by wrapping our code in an if __name__ == «__main__»: block:
Now when we run our script, we get the expected output:
Code example 2
Let’s say you have a Python script named my_script.py and it contains the following code:
And you also have a Python module named some_module.py that contains the following code:
If you try to run my_script.py , you’ll get the following error:
This is because your main module ( my_script.py ) is not located in the same directory as your Python script. When Python tries to import some_module , it will look for it in the current directory (the directory where my_script.py is located). Since it can’t find it there, it will throw an error. You can fix this by moving your Python script to the same directory as your main module:
Now when you run my_script.py , it will be able to find and import some_module.py without any problems.
How to fix the python can’t find ‘__main__’ module error?
As we’ve seen in the examples above, there are two ways to fix the “python can’t find ‘__main__’ module” error. The first way is to add the main module to your Python script. The second way is to move your Python script to the same directory as your main module. Below, we’ll go through both of these strategies in further depth.
Add the main module to your script
If you get this error, it means that you haven’t specified the main module in your Python script. You can fix this by wrapping your code in an if __name__ == «__main__»: block:
When you run your script, Python will look for a module named __main__ and, if it can’t find one, it will throw an error. This block of code will ensure that Python can find your main module and avoid errors like python can’t find ‘__main__’ module
Move your script to the same directory as your main module
If you get this error, it means that your main module is not located in the same directory as your Python script. You can fix this by moving your Python script to the same directory as your main module:
When you run your Python script, it will look for modules in the current directory (the directory where my_script.py is located). By moving my_script.py to the same directory as we’re ensuring that our script can find all of the modules it needs.
Conclusion
In this article, we’ve discussed the “ python can’t find ‘__main__’ module ” error. We’ve seen two different code examples that demonstrate how this error can occur. And we’ve also shown you how to fix the error by either adding the main module to your script or moving your script to the same directory as your main module so that you can continue developing your web applications.
Источник
Python Error Can’t Find Main Module
In this article, we’ll discuss the error can’t find ‘__main__’ module , the causes of it, and how to resolve the error in Python.
Resolve the can’t find ‘__main__’ module Error in Python
We wrote a simple code to print in the PyCharm environment. As we see in the top right corner, the play button or running button is disabled, which means there is no way to run this code.
To be able to read this code, we need to add a configuration or add an interpreter, and then it gives us an execution. But if we click the play button, the program does not run.
The problem is that we don’t have an interpreter to run the codes on PyCharm, or we get an error when running the created interpreter. In our case, we created an interpreter, but still, the code doesn’t run.
So what caused the issue? The first reason is there is no virtual environment, and the second is the Python interpreter cannot find the project folder.
We need to check if we have installed Python on our system to resolve this issue. In the next step, we create a virtual environment for our project and specify the Python file we want to read.
To check the Python is installed or not, we open our terminal and type “python” and hit enter if you have Python installed on your system, it gives you the version of Python, and if nothing pops up, that means you do not have Python installed on our system. You need to download Python from here.
Let’s create a virtual environment for our project and create an empty folder. After that, we go to the PyCharm environment to delete the interpreter.
- Click on the top-left corner file.
- Go to settings. It will open up a project for you and then go to your project.
- We click on the plus( + ) button where we specifically tell the machine where we want to create our virtual environment.
- Once the virtual environment is created, you must select it.
- Click «OK» then «Apply» .
In the next step, we will add configuration.
- For our project, click on add configuration .
- Click on add new and select Python .
- After opening a new window, look at the script path where we have to select our project file, so you have to go through your project or wherever you saved your folder.
- Once you pick up the script path or the project file, it will automatically pick up the working directory. If it doesn’t, just click on the folder, go to the project folder, and pick it up yourself.
- Then click «Apply» and «OK» .
- We will run the code to see if everything is working fine. Click on the play button, and the code is executed successfully here.
To make it short, when you get the can’t find ‘__main__’ module error in Python. We resolve it by doing the following:
- Adding the main module to your script.
- Moving your script to the same directory as your main module.
Conclusion
We’ve discussed in this article how to resolve the can’t find ‘__main__’ module error in Python.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
Источник
Работа с ошибками в Python
Заголовок
Создайте файл solution.py со следующим кодом:
Наш код подразумевает печать содержимого переменной vector.
Запустим написанный скрипт, получим следующий вывод:
Сообщение означает, что при исполнении кода возникла ошибка. При этом Python сообщает нам кое-что ещё. Разберём это сообщение детально.
Чтение Traceback 1
Исходное сообщение нужно мысленно разделить на две части. Первая часть это traceback-сообщение:
Вторая часть — сообщение о возникшей ошибке:
Разберём первую часть. Traceback в грубом переводе означает «отследить назад». Traceback показывает последовательность/стэк вызовов, которая, в конечном итоге, вызвала ошибку.
является заголовочной. Она сообщает, что в последующих строках будет изложен стэк вызовов (он показан отступами). Обратите внимание на сообщение в скобках, оно указывает на порядок вызовов. В данном случае (он же случай по умолчанию) тот вызов, в котором произошла ошибка, будет в последовательности вызовов указан последним.
Вторая и третья строки:
показывают информацию о вызове (в нашем случае он один). Во-первых, здесь есть информация о файле, в котором произошёл вызов («solution.py»), затем указан номер строки, где этот вызов происходит («line 1″), в конце стоит информация о том, откуда произошёл вызов (» «). В нашем случае вызов происходит непосредственно из модуля, т.е. не из функции. Наконец, вывод содержит не только номер строки, но и саму строку «for coord in vector:».
Заключительная строка сообщения:
содержит вид (тип) ошибки («NameError»), и после двоеточия содержит подсказку. В данном случае она означает, что имя «vector» не определено.
В самом деле, если взглянуть снова на код, то можно убедиться, что мы нигде не объявили переменную «vector».
Подведём итоги. При попытке запуска мы получили следующий вывод
Он говорит нам о возникновении ошибки. Эта ошибка обнаружилась интерпретатором в первой строке файла «solution.py». Сама ошибка является ошибкой имени и указывает на необъявленное имя — «vector».
Чтение Traceback 2
Оберните код из solution.py в функцию:
Запустим наш код
На этот раз сообщение об ошибке сложнее, однако структура у него та же.
Часть со стеком вызовов увеличилась:
Поскольку «most recent call last», читать будем её сверху вниз.
Вызовов на этот раз два. Первый вызов:
Произошел в пятой строке. Судя по строчке кода, это вызов написанной нами функции print_vector(5) с аргументом 5.
Следом за ней второй вызов:
Этот вызов происходит внутри функции print_vector, содержащейся в файле «solution.py». Вызов находится в строке 2.
Сама же ошибка имеет вид:
Как и в первом примере, сообщение об ошибке содержит её тип и подсказку. В нашем случае произошла ошибка типа. В подсказке же указано, что объект типа int не является итерируемым, т.е. таким объектом, который нельзя использовать в цикле for.
В нашем коде возникла ошибка. Её вызвала последовательность вызовов. Первый вызов произошел непосредственно из модуля — в строке 5 происходит вызов функции print_vector(5). Внутри этой функции ошибка возникла в строчке 2, содержащей проход по циклу. Сообщение об ошибке означает, что итерироваться по объекту типа int нельзя. В нашем случае мы вызвали функцию print_vector от числа (от 5).
Некоторые ошибки с примерами кода
Ошибки в синтаксисе
Наиболее частая ошибка, которая возникает в программах на Python — SyntaxError: когда какое-то утверждение записано не по правилам языка, например:
Тот же тип ошибки возникнет, если забыть поставить двоеточие в цикле:
При неправильном использовании пробелов и табуляций в начале строки возникает IndentationError:
А теперь посмотрим, что будет, если в первой строке цикла воспользоваться пробелами, а во второй — табуляцией:
NameError возникает при обращении к несуществующей переменной:
Ошибки в логике
Напишем простую программу на деление с остатком и сохраним как sample.py:
Возникла ошибка TypeError, которая сообщает о неподходящем типе данных. Исправим программу:
запустим на неподходящих данных:
Возникнет ValueError. Эту ошибку ещё можно воспринимать как использование значения вне области допустимых значений (ОДЗ).
Теперь запустим программу на числовых данных:
При работе с массивами нередко возникает ошибка IndexError. Она возникает при выходе за пределы массива:
Что будет, если вызвать бесконечную рекурсию? Опишем её в программе endless.py
Через некоторое время после запуска возникнет RecursionError:
Источник
Python can't find '__main__' module
is one of the most common errors that can occur when running a Python script. We’ll cover why this error occurs and provide two different code examples that demonstrate how it can happen. We’ll also show you how to fix the error so that you can continue developing your web applications with Python.
Contents
- 0.1 What is __main__ in python?
- 1 Why does the error occur?
- 1.1 Code example 1
- 1.2 Code example 2
- 2 How to fix the python can’t find ‘__main__’ module error?
-
- 2.0.1 Add the main module to your script
- 2.0.2 Move your script to the same directory as your main module
-
- 3 Conclusion
- 3.1 References
What is __main__
in python?
__main__
is a special name in Python that is used to indicate the source file where the program execution starts. Every Python program has a '__main__'
module, and the code within that module is executed when the program is run. The '__main__'
module can be located in any file, but it is typically placed in a file named ‘main.py
‘.
For example, consider the following 'main.py'
file:
When this program is run, the output will be as follows:
Program started!
Inside main function.
Program ended!
Why does the error occur?
There are two main reasons why the python can't find '__main__' module
error might occur. The first reason is that you haven’t specified the main module in your Python script. The second reason is that your main module is not located in the same directory as your Python script. We’ll discuss each of these reasons in more detail below.
Code example 1
Let’s say you have a Python script named my_script.py
and it contains the following code:
If you try to run this script, you’ll get the python can’t find ‘__main__’ module error
$ python my_script.py
Traceback (most recent call last):
File "my_script.py", line 7, in <module>
some_function()
File "my_script.py", line 4, in some_function
print("Hello World!")
NameError: name '__main__' is not defined
This is because we haven’t specified the main module in our script. Python will look for a module named __main__ and, if it can’t find one, it will throw an error. To fix this, we need to add the main module to our script. We can do this by wrapping our code in an if __name__ == "__main__":
block:
if __name__ == "__main__":
def some_function():
print("Hello World!")some_function()
Now when we run our script, we get the expected output:
$ python my_script.py
Hello World!
Code example 2
Let’s say you have a Python script named my_script.py
and it contains the following code:
import some_moduledef some_function():
print("Hello World!")
some_function()
And you also have a Python module named some_module.py
that contains the following code:
def some_other_function():
print("Hello from some other function!")
If you try to run my_script.py
, you’ll get the following error:
$ python my_script.py
Traceback (most recent call last):
File "my_script.py", line 7, in <module>
import some_module
ImportError: No module named '__main__' in some_module
This is because your main module (my_script.py
) is not located in the same directory as your Python script. When Python tries to import some_module
, it will look for it in the current directory (the directory where my_script.py
is located). Since it can’t find it there, it will throw an error. You can fix this by moving your Python script to the same directory as your main module:
my_script.py
some_module.py
Now when you run my_script.py
, it will be able to find and import some_module.py
without any problems.
As we’ve seen in the examples above, there are two ways to fix the “python can’t find ‘__main__’ module” error. The first way is to add the main module to your Python script. The second way is to move your Python script to the same directory as your main module. Below, we’ll go through both of these strategies in further depth.
Add the main module to your script
If you get this error, it means that you haven’t specified the main module in your Python script. You can fix this by wrapping your code in an if __name__ == "__main__":
block:
if __name__ == "__main__": def some_function():
print("Hello World!")
some_function()
When you run your script, Python will look for a module named __main__
and, if it can’t find one, it will throw an error. This block of code will ensure that Python can find your main module and avoid errors like python can't find '__main__' module
Move your script to the same directory as your main module
If you get this error, it means that your main module is not located in the same directory as your Python script. You can fix this by moving your Python script to the same directory as your main module:
my_script.py
some_module.py
When you run your Python script, it will look for modules in the current directory (the directory where my_script.py
is located). By moving my_script.py
to the same directory as we’re ensuring that our script can find all of the modules it needs.
Conclusion
In this article, we’ve discussed the “python can't find '__main__' module
” error. We’ve seen two different code examples that demonstrate how this error can occur. And we’ve also shown you how to fix the error by either adding the main module to your script or moving your script to the same directory as your main module so that you can continue developing your web applications.
References
- StackOverflow
- Python Documentation
To learn more, also follow unittest assertraises(), prepend lists on pythonclear
Установите Python, Numpy, Matplotlib, Scipy в Windows
Всякий раз, когда я пытаюсь запустить скрипт через Virtualenv в pycharm, я получаю такую ошибку:
C:UsersCostelloPycharmProjectstestvenvScriptspython.exe C:/Users/Costello/PycharmProjects/test C:UsersCostelloPycharmProjectstestvenvScriptspython.exe: can't find '__main__' module in 'C:/Users/Costello/PycharmProjects/test'
Все работает нормально через idle или vs code. Я полагаю, что это должно быть что-то с тем, как я настроил свой pycharm, но понятия не имею, что.
edit: это происходит независимо от того, что я запускаю, даже с простой функцией печати.
изменить: даже при выборе обычного интерпретатора Python, то же самое происходит только в pycharm
C:UsersCostelloAppDataLocalProgramsPythonPython37python.exe: can't find '__main__' module in 'C:/Users/Costello/PycharmProjects/test'
- 3 Можете ли вы показать нам свой код?
- Что бы я ни бегал. Даже пробовал простую печать («бла бла») prntscr.com/kn60cu
- 1 Как вы запускаете код? Это не похоже на файл Python, он не заканчивается на .py
- Он заканчивается на py, и это файл python, вы можете видеть, что он заканчивается на test.py и значок python рядом с файлом. Разобрался в чем дело, отправил ответ. спасибо, ребята
Разобрался в чем дело. В окне конфигурации в pycharm мне нужно было выбрать правильный путь к скрипту:
- 2 Путь к сценарию вводит в заблуждение (ИМХО), поскольку он также должен включать файл сценария.
В вашем Pycharm:
- Выбрать
Run - Edit Configurations
- В
Configuration tabs
, ВыбратьModule name
в опцииChoose target to run
и введите имя вашего файла python - Нажмите
Apply
а такжеOK
кнопка
Или простой способ — когда вы запускаете свой код в первый раз (в новом файле), просто введите клавиатуру Alt+Shift+F10
для запуска и сохранения конфигурации. Во второй раз (после сохранения конфигурации) просто введите Alt+F10
для запуска вашего кода.
- также называется «путь к сценарию»
Перейдите в «Редактировать конфигурацию» и укажите только свое имя файла, например filename.py
Существующий путь ——> C:Usersnp4PycharmProjectsTESTvenv
Попробуйте с этим ——> C:Usersnp4PycharmProjectsTESTvenvMultiSites.py
Я столкнулся с этой проблемой, когда мой cmd
был вынужден «Завершить задачу» диспетчером задач. Моя проблема решена, когда я перезапускаю свою IDE.
«Открыть диалоговое окно« Редактировать настройки запуска / отладки »» (вверху, рядом с «Выполнить») «Изменить конфигурации» «Путь к сценарию:» -> выберите правильный путь к сценарию.
В Pycharm (Ubuntu):
- Создать новый проект
- Дайте название проекта
- Щелкните правой кнопкой мыши папку bin
- Создать новый файл Python
- Напишите свой код
- Верхняя правая сторона: Добавить конфигурацию
- Левая сторона: щелкните правой кнопкой мыши знак «+»
- Введите полное имя файла
- Home / Downloads / myfile.py как «Путь к сценарию»
- python 2.x / 3.x как интерпретатор Python
- Нажмите «Применить / ОК»
Я исправил это, удалив значения из Возможности переводчика в конфигурациях запуска / отладки. Пытаясь добавить интерпретатор, я добавил путь Python к указанному полю.
После расчистки поля все наладилось.
Ты можешь найти run/debug configuration
настройки в раскрывающемся списке слева от значка запуска в правом верхнем углу окна pycharm.
Tweet
Share
Link
Plus
Send
Send
Pin
Давайте изучим Python
«Не могу найти» в PyCharmmainРешения модуля ’в проблеме
Язык Python, я хочу выучить уже давно, но не могу решиться.Сейчас я сижу дома и наконец могу выучить его.
Все прошло гладко. Я загрузил и установил Python 3.7. Я написал «Hello World», используя IDLE. Я думаю, что это неплохой инструмент. Когда у меня было время, я поискал в Интернете Python Dajia и обнаружил, что многие люди представляют PyCharm и очень заинтересованы Прочитав введение PyCharm, я был очарован его мощными функциями. Я сразу же загрузил версию PyCharm Community Edition 2019.3.3 x64 в соответствии с инструкциями Dajia. Dajia сказал, что это бесплатная версия сообщества, которая использовалась более двух лет. , Я чувствую себя неплохо. Неважно, я все равно Сяобай, лучше бесплатно.
Установка, все прошло удачно, это английская версия, я слишком хорошо владею английским, хочу конвертировать на китайский, скачал китайский пакет resources_cn.jar, по инструкции Dajiamen, положил его в папку lib каталога установки Python, перезапустил PyCharm, Ха-ха, я действительно видел китайский. Немедленно заходите в «Hello World», запускайте, неудачно, появляется следующая подсказка:
C:UsersAdministratorAppDataLocalProgramsPythonPython37-32python.exe: can’t find ‘main’ module in ‘F:/ python/’
Process finished with exit code 1
Я начал задаваться вопросом, была ли конфигурация неправильной. Я щелкнул меню «Файл» и выбрал «Конфигурация», но ответа не последовало. Что случилось? После перехода на Baidu некоторые пользователи сети наконец заявили, что не ответили, потому что загрузили китайский пакет. Просто сначала удалите китайский пакет. Если это так, сначала отложите resources_cn.jar в сторону, а затем повторно запустите PyCharm. Наконец, Вы можете открыть файл конфигурации. Настройте путь Python, как показано красной линией, как показано ниже, нажмите [Применить], PyCharm будет импортировать библиотеки Python и т. Д., Подождите некоторое время и нажмите кнопку [OK], чтобы выделить его.
Снова запустите «Hello World», проблема остается. Я думаю, что есть еще вещи, которые не были настроены в оконной системе, но я думаю, что это невозможно. Python действительно работает успешно. Проверьте Загрузите «переменные среды» системы.
Щелкните правой кнопкой мыши [Мой компьютер], выберите [Свойства], выберите [Переменные среды] во всплывающем окне «Свойства системы», выберите «Путь» во всплывающем окне «Переменные среды», Щелкните [Edit], как показано на рисунке ниже.
Видя, что два переменных пути Python остаются здесь, что может пойти не так?
Сдавайся, эта конфигурация PyCharm такая хлопотная.
Некоторое время я ходил, думая об этом и не желая думать об этом, я вернулся в Baidu, хе-хе, некоторые пользователи сети действительно дали ответ.
Нажмите «Открыть… диалог» в правом верхнем углу Pycharm, как показано на рисунке ниже.
Во всплывающем диалоговом окне добавьте работающий файл hello.py в конец параметра Путь к сценарию, как показано ниже:
После нажатия [OK] запустите, ха-ха, проблема наконец-то решена.
Хотя я долго ворочался, проблема наконец-то решена, и я многому из нее научился. Я думаю, что с такой проблемой могут столкнуться новички в Python. Я надеюсь, что эта статья может дать вам решение проблемы и избежать обходных путей.
- Resolve the
can't find '__main__' module
Error in Python - Conclusion
In this article, we’ll discuss the error can't find '__main__' module
, the causes of it, and how to resolve the error in Python.
Resolve the can't find '__main__' module
Error in Python
We wrote a simple code to print in the PyCharm environment. As we see in the top right corner, the play button or running button is disabled, which means there is no way to run this code.
To be able to read this code, we need to add a configuration or add an interpreter, and then it gives us an execution. But if we click the play button, the program does not run.
The problem is that we don’t have an interpreter to run the codes on PyCharm, or we get an error when running the created interpreter. In our case, we created an interpreter, but still, the code doesn’t run.
So what caused the issue? The first reason is there is no virtual environment, and the second is the Python interpreter cannot find the project folder.
We need to check if we have installed Python on our system to resolve this issue. In the next step, we create a virtual environment for our project and specify the Python file we want to read.
To check the Python is installed or not, we open our terminal and type “python” and hit enter if you have Python installed on your system, it gives you the version of Python, and if nothing pops up, that means you do not have Python installed on our system. You need to download Python from here.
Let’s create a virtual environment for our project and create an empty folder. After that, we go to the PyCharm environment to delete the interpreter.
- Click on the top-left corner file.
- Go to settings. It will open up a project for you and then go to your project.
- We click on the plus(
+
) button where we specifically tell the machine where we want to create our virtual environment. - Once the virtual environment is created, you must select it.
- Click
"OK"
then"Apply"
.
In the next step, we will add configuration.
- For our project, click on
add configuration
. - Click on
add new
and selectPython
. - After opening a new window, look at the script path where we have to select our project file, so you have to go through your project or wherever you saved your folder.
- Once you pick up the script path or the project file, it will automatically pick up the working directory. If it doesn’t, just click on the folder, go to the project folder, and pick it up yourself.
- Then click
"Apply"
and"OK"
. - We will run the code to see if everything is working fine. Click on the play button, and the code is executed successfully here.
To make it short, when you get the can't find '__main__' module
error in Python. We resolve it by doing the following:
- Adding the main module to your script.
- Moving your script to the same directory as your main module.
Conclusion
We’ve discussed in this article how to resolve the can't find '__main__' module
error in Python.
Posts: 382
Threads: 94
Joined: Mar 2017
Reputation:
-12
Hi all! When I am on the project, I cannot run it. Python says he does not find my «main» file.
Here is my main.py:
if __name__ == '__main__': import handling_num import factorial import case import sort import chaotic import solver import roule import while_True import game_tk import game
Posts: 11,566
Threads: 446
Joined: Sep 2016
Reputation:
444
Show the error.
Python would not do anything but return as complete, since all you are doing here is importing stuff.
sylas
Minister of Silly Walks
Posts: 382
Threads: 94
Joined: Mar 2017
Reputation:
-12
Mar-04-2018, 06:32 PM
(This post was last modified: Mar-04-2018, 06:46 PM by sylas.)
Error:
E:Documents>python Py1
C:Program FilesPython36python.exe: can't find '__main__' module in 'Py1'
E:Documents>
Strange ! I am on E he goes to C. That may be the reason. But why he does not rest on E ?
I must add that with «python main.py», all the project runs well.
Posts: 11,566
Threads: 446
Joined: Sep 2016
Reputation:
444
There is no reason why this should cause an error.
I don’t have same packages as you, so used a couple different for import,
but created following python program
dingo.py:
λ cat dingo.py if __name__ == '__main__': import sys import tkinter
then ran:
λ python dingo.py
without issue
sylas
Minister of Silly Walks
Posts: 382
Threads: 94
Joined: Mar 2017
Reputation:
-12
#λ cat dingo.py if __name__ == '__main__': import sys import tkinter
First line commented or not , file doesn’t work. Now error in case first line cmmented:
Error:
E:Documentsnew_files>python f3.py
File "f3.py", line 1
λ cat dingo.py
^
SyntaxError: invalid syntax
E:Documentsnew_files>python f3.py
E:Documentsnew_files>python f3.py
E:Documentsnew_files>
Posts: 5,147
Threads: 395
Joined: Sep 2016
Reputation:
170
Mar-04-2018, 08:44 PM
(This post was last modified: Mar-04-2018, 08:44 PM by metulburr.)
(Mar-04-2018, 07:48 PM)sylas Wrote:
#λ cat dingo.py if __name__ == '__main__': import sys import tkinterFirst line commented or not , file doesn’t work. Now error in case first line cmmented:
Error:
E:Documentsnew_files>python f3.py File "f3.py", line 1 λ cat dingo.py ^ SyntaxError: invalid syntax E:Documentsnew_files>python f3.py E:Documentsnew_files>python f3.py E:Documentsnew_files>
HIs first line is a bash command to output the fie to show you the contents. If you commented that out and get no output that means it worked as nothing is suppose to output from importing usually.
I would suggest to put your project up on github and tell us which file you are running. There is nothing wrong with the interpreter. It is something you are doing.
sylas
Minister of Silly Walks
Posts: 382
Threads: 94
Joined: Mar 2017
Reputation:
-12
Notice Py1 is a folder, not a file. Maybe I try something impossible. So in case I have many projects, I cannot tell python «run this project». As for Github, even if I am on Atom, it is very complicated for me to use Github.
Posts: 3,885
Threads: 56
Joined: Jan 2018
Reputation:
307
(Mar-04-2018, 09:01 PM)sylas Wrote: Notice Py1 is a folder, not a file.
Python can run a folder if it contains a file __main__.py
.
sylas
Minister of Silly Walks
Posts: 382
Threads: 94
Joined: Mar 2017
Reputation:
-12
Error:
E:Documents>python Py1
C:Program FilesPython36python.exe: can't find '__main__' module in 'Py1'
E:Documents>
Posts: 3,885
Threads: 56
Joined: Jan 2018
Reputation:
307
Mar-05-2018, 06:16 AM
(This post was last modified: Mar-05-2018, 06:16 AM by Gribouillis.)
Is there a file named «__main__.py» in Py1? don’t forget the double underscores on each side of the word ‘main’.