PyCharm – Динамическое изменение импорта

Я работаю над некоторыми файлами Boost-Build (экспериментальная сборка Python), и я пытаюсь правильно настроить среду в PyCharm. Boost-Build имеет папку src с макетом, как показано ниже:

\---src +---build +---contrib +---kernel +---options +---tools | +---doxygen | +---types | \---xsltproc \---util 

При вызове исполняемого файла b2 он немного рушит, чтобы установить каталог src в качестве импортируемого модуля python с именем b2 . Затем вы можете делать импорт python, как и следовало ожидать:

 from b2.util import bjam_signature 

Проблема в том, что во всех моих файлах python PyCharm не распознает пакет b2 , поскольку на самом деле пакет b2 является только каталогом src . Итак, я получаю кучу Unresolved reference ошибок в PyCharm.

Есть ли что-нибудь, что я могу сделать, чтобы заставить PyCharm распознавать каталог src как пакет b2 ? (Без очевидного просто переименования каталога src в b2 )

    2 Solutions collect form web for “PyCharm – Динамическое изменение импорта”

    Самый простой способ – точно так же, как вы упомянули. Просто переименуйте папку src. Вы также можете сделать что-то вроде

     import src as b2 

    Тем не менее, это не поможет вам сделать из части импорта b2 . Другое решение, которое я нашел после копания, было в этом сообщении:

    • Как изменить имя модуля Python?

    В основном вы можете изменить sys.modules, чтобы указать на новое имя. Я подозреваю, что это может работать только во время работы скрипта, но вы можете попробовать и посмотреть.

    Это может быть не лучший способ и лучший способ PyCharm, но я создал символическую ссылку b2 в Python27\Lib\site-packages которая указывала на папку src . Теперь я не получаю ошибок в том, что импорт не найден, а также завершение функции.

     
    Interesting Posts for Van-Lav

    Tkinter: рисовать прямоугольник с помощью мыши

    python – os.getenv и os.environ не видят переменных среды моей оболочки bash

    Sklearn Randomized Logistic Regression дает ошибку «ValueError: количество классов должно быть больше одного»

    Бот-робот на основе Python

    Чрезвычайно странная проблема веб-скрепок: почтовый запрос не ведет себя так, как ожидалось

    Как избежать разрыва строки, уже присутствующего в строке?

    Как определить разницу между итератором и итерабельностью?

    Передача всех аргументов функции другой функции

    Автоматическое преобразование вкладок pycharm в пространство

    Список таблиц, db-схемы, дампа и т. Д. С использованием API-интерфейса Python sqlite3

    Что такое кросс-платформенный способ воспроизведения звукового файла в python?

    Уменьшить разрешение массива путем суммирования

    Индивидуальная проверка подлинности Django Rest Framework

    Как определить, является ли ввод пользователем допустимым шестнадцатеричным числом?

    Понимание гистограммы () в подушке

    Python - лучший язык программирования в мире.