Код: Выделить всё
python3 -m my_module.src1 args
Мой модуль использует вывод в pyproject.toml
code> file file, и я создал для него следующую структуру:
Код: Выделить всё
/path/to/work/dir
pyproject.toml
venv/
src/
my_module/
__init__.py
src1.py
src2.py
Код: Выделить всё
python3 -m venv venv
source ./venv/bin/activate
# Install all dependencies for my_module
pip3 install .
Код: Выделить всё
source $PWD/venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$PWD/src
Это то, что задумано?
В последнее время я прочитал так много страниц об этом, поэтому извините за отсутствие ссылок:
- Я видел рекомендации по изменению ./venv/ bin/activate, чтобы установить PYTHONPATH и рекомендации, которые точно не следует делать это.
- Я видел рекомендации по созданию файла ./venv/lib/python3.12/site-packages/some.pth с полным путем к моему . /src, и это работает до тех пор, пока my_module не установлен в venv, поскольку этот путь добавляется к sys.path. Но my_module установлен в venv, поскольку я использовал pip3 install . для установки всех моих зависимостей (и для проверки установки). Таким образом, использование файла .pth бесполезно, поскольку в любом случае он найдет и будет использовать установленный my_module.
Подробнее здесь: https://stackoverflow.com/questions/792 ... a-python-m
Мобильная версия