Создание модулей с помощью PyCharm

Я работаю с PyCharm и пытаюсь создать модуль из кода, который я создал, чтобы я мог импортировать его в новые файлы. В IntelliJ вы можете запустить создатель модуля, но в PyCharm эта опция, похоже, не существует.

Без модуля, когда я печатаю:

import my_code

Я получаю предупреждение "Нет модуля с именем my_code".

Я пытался создать пакеты для замены модуля, но это не работает.

Как вы перепаковываете код в PyCharm, чтобы вы могли импортировать его в новый файл?

Структура проекта довольно проста. У меня есть несколько файлов, которые я создал как часть учебника. Я хочу сделать один из файлов "Importing_Files" модулем, чтобы я мог импортировать его в другой файл, т. Е. "Import_Tester". Я добавил картинку ниже, чтобы показать дерево.

введите описание изображения здесь

0 ответов

Вот что я бы посоветовал. Похоже, вы уже пытались все настроить правильно, но вам нужно организовать вещи в Pycharm немного по-другому. Я столкнулся с похожей проблемой, поэтому считаю, что ответ на этот вопрос будет полезным.

Ваш каталог.idea находится внутри пакета, что затрудняет работу. Попробуй это:

  1. Создайте новый проект Pycharm на основе верхнего уровня проекта.
  2. Создайте каталоги src и test в этом проекте и установите их как исходный корень и тестовый корень соответственно.
  3. Переместите пакет HelloWorld в src (убедитесь, что он все еще распознается как пакет).
  4. Создайте новые файлы в src с основными разделами для любых функций, которые вам нужно запускать из командной строки, добавьте импорт для вашего пакета и переместите в него свой основной код.
  5. Для любых основных функций, определяющих тесты, сделайте то же самое - создайте файлы с основной логикой в ​​каталоге тестов. Модульные тесты - лучший способ сделать это, но эта структура каталогов должна работать.
  6. Удалите старый проект (удалите каталог.idea в HelloWorld).

Окончательный макет проекта должен выглядеть примерно так:

 CompletePythonMasterClassUdemy
     .idea
     src
         command_line_main.py
         HelloWorld
             __init__.py
             ...
     test
         test_account.py

Это лучший способ организовать вещи, которые должны работать как внутри, так и вне Pycharm. В отличие от мира Java, в Python не так много общих соглашений для правильной настройки проектов. Скорее всего, есть лучшие способы сделать что-то, но мне это нравится. Он должен хорошо работать для людей, начинающих разработку библиотеки Python.

Другие вопросы по тегам