Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как сделать python import из другой папки в проекте?

  1. Как сделать python import из другой папки в проекте?

    Ребята, привет! Возник вопрос по поводу python import из другой папки. Как правильно сделать импорт, если модули находятся в разных папках? Пробовал несколько вариантов, но постоянно вылетает ошибка "ModuleNotFoundError". Буду признателен за помощь с конкретными примерами, как настроить всё правильно.



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Чтобы сделать python import из другой папки, можно добавить путь к нужной папке в sys.path. Вот пример кода:

    Программный код:
    import sys
    sys
    .path.append('/path/to/your/module')
    import your_module 
    Но лучше использовать структуру проекта и файлы __init__.py, чтобы сделать всё по правилам. Пример:

    Программный код:
    your_project/
        
    __init__.py
        main
    .py
        your_module
    /
            
    __init__.py
            module
    .py 
    В main.py:

    Программный код:
    from your_module import module 
    Так будет более профессионально и читаемо.

  4. Цитата Сообщение от Ирина Николаевна
    Чтобы сделать python import из другой папки, можно добавить путь к нужной папке в sys.path. Вот пример кода:

    Программный код:
    import sys
    sys
    .path.append('/path/to/your/module')
    import your_module 
    Но лучше использовать структуру проекта и файлы __init__.py, чтобы сделать всё по правилам. Пример:

    Программный код:
    your_project/
        
    __init__.py
        main
    .py
        your_module
    /
            
    __init__.py
            module
    .py 
    В main.py:

    Программный код:
    from your_module import module 
    Так будет более профессионально и читаемо.
    Ну да, юзать sys.path можно, но лучше разделить логику по папкам и файлам. Так хоть твой проект будет выглядеть как у белых людей

  5. Если у тебя большая и сложная структура в проекте, лучше настроить PYTHONPATH. Например, в Unix системах:

    Программный код:
    export PYTHONPATH=$PYTHONPATH:/path/to/your/project 
    Или сделать в коде:

    Программный код:
    import os
    import sys
    sys
    .path.insert(0os.path.abspath(os.path.join(os.path.dirname(__file__), '..''your_module')))
    import your_module 
    Это работает универсально и не привязано к конкретному пути.

  6. Цитата Сообщение от Партизан
    Если у тебя большая и сложная структура в проекте, лучше настроить PYTHONPATH. Например, в Unix системах:

    Программный код:
    export PYTHONPATH=$PYTHONPATH:/path/to/your/project 
    Или сделать в коде:

    Программный код:
    import os
    import sys
    sys
    .path.insert(0os.path.abspath(os.path.join(os.path.dirname(__file__), '..''your_module')))
    import your_module 
    Это работает универсально и не привязано к конкретному пути.
    За тему PYTHONPATH респект, это действительно удобно, не только в Unix, на винде тоже можно настроить.

  7. На самом деле, если ты работаешь в виртуальном окружении, то можно настроить интерпретатор и пути так, чтобы импорт шёл как по маслу. В пайчарме, например, можно добавить Content Root в настройках проекта и всех делов.

  8. Цитата Сообщение от Shelob
    На самом деле, если ты работаешь в виртуальном окружении, то можно настроить интерпретатор и пути так, чтобы импорт шёл как по маслу. В пайчарме, например, можно добавить Content Root в настройках проекта и всех делов.
    Ну да, в Pycharm это действительно просто решается через настройку, главное не забыть добавить все нужные директории в Content Root.

  9. Импорт из другой папки можно решать несколькими способами, но лучшего всего следовать общепринятой структуре пакетов в Python. Совсем не нужно изобретать велосипед. Держи пример мини-проекта:

    Программный код:
    project/
        
    app/
            
    __init__.py
            main
    .py
            modules
    /
                
    __init__.py
                helper
    .py 
    В main.py:

    Программный код:
    from modules import helper 
    Так у тебя не будет проблем с импортом, и структура будет логична.

  10. Цитата Сообщение от Екатерина Андреевна
    Импорт из другой папки можно решать несколькими способами, но лучшего всего следовать общепринятой структуре пакетов в Python. Совсем не нужно изобретать велосипед. Держи пример мини-проекта:

    Программный код:
    project/
        
    app/
            
    __init__.py
            main
    .py
            modules
    /
                
    __init__.py
                helper
    .py 
    В main.py:

    Программный код:
    from modules import helper 
    Так у тебя не будет проблем с импортом, и структура будет логична.
    Всё чётко расписано, по структуре проекта согласен, главное не забывать о __init__.py.

Страница 1 из 2 12 ПоследняяПоследняя