Создание модулей с помощью PyCharm
Я работаю с PyCharm и пытаюсь создать модуль из кода, который я создал, чтобы я мог импортировать его в новые файлы. В IntelliJ вы можете запустить создатель модуля, но в PyCharm эта опция, похоже, не существует.
Без модуля, когда я печатаю:
import my_code
Я получаю предупреждение "Нет модуля с именем my_code".
Я пытался создать пакеты для замены модуля, но это не работает.
Как вы перепаковываете код в PyCharm, чтобы вы могли импортировать его в новый файл?
Структура проекта довольно проста. У меня есть несколько файлов, которые я создал как часть учебника. Я хочу сделать один из файлов "Importing_Files" модулем, чтобы я мог импортировать его в другой файл, т. Е. "Import_Tester". Я добавил картинку ниже, чтобы показать дерево.
0 ответов
Вот что я бы посоветовал. Похоже, вы уже пытались все настроить правильно, но вам нужно организовать вещи в Pycharm немного по-другому. Я столкнулся с похожей проблемой, поэтому считаю, что ответ на этот вопрос будет полезным.
Ваш каталог.idea находится внутри пакета, что затрудняет работу. Попробуй это:
- Создайте новый проект Pycharm на основе верхнего уровня проекта.
- Создайте каталоги src и test в этом проекте и установите их как исходный корень и тестовый корень соответственно.
- Переместите пакет HelloWorld в src (убедитесь, что он все еще распознается как пакет).
- Создайте новые файлы в src с основными разделами для любых функций, которые вам нужно запускать из командной строки, добавьте импорт для вашего пакета и переместите в него свой основной код.
- Для любых основных функций, определяющих тесты, сделайте то же самое - создайте файлы с основной логикой в каталоге тестов. Модульные тесты - лучший способ сделать это, но эта структура каталогов должна работать.
- Удалите старый проект (удалите каталог.idea в HelloWorld).
Окончательный макет проекта должен выглядеть примерно так:
CompletePythonMasterClassUdemy
.idea
src
command_line_main.py
HelloWorld
__init__.py
...
test
test_account.py
Это лучший способ организовать вещи, которые должны работать как внутри, так и вне Pycharm. В отличие от мира Java, в Python не так много общих соглашений для правильной настройки проектов. Скорее всего, есть лучшие способы сделать что-то, но мне это нравится. Он должен хорошо работать для людей, начинающих разработку библиотеки Python.