#python
#python
Вопрос:
Я определил точку входа в моем setup.py вот так:
entry_points={
'console_scripts': [
'gpstest = src.gps:main',
],
},
Когда я вызываю gpstest
из каталога X, функция запускается из этого каталога X.
Моя цель — иметь возможность вызывать gpstest
из любого каталога, но запускать основную функцию gps/src
(поэтому, когда я печатаю текущий рабочий каталог в main.py
using os.getcwd()
, я хочу получить .../gps/src
независимо от того, откуда я выполнял gpstest
).
Есть ли способ сделать это?
Комментарии:
1. Очень часто я просто склонен использовать
__file__
переменную, которая указывает на текущееscript.py
местоположение. Чтобы получить родительскую папку, я используюfrom pathlib import Path; Path(__file__).resolve().parent
. Хотя, это комментарий для получения родительского каталога в целом, а не для вашей проблемы. Зачем вам нужно использоватьos.getcwd()
?2. Весь смысл создания модуля python заключается в независимости от каталога и автономной утилите. Ваш console_scripts служит точкой входа для этого, ваша основная функция должна содержать вашу логику. Я не уверен, чего вы пытаетесь достичь здесь
3. У вас есть
src.gps:main
илиgps.src:main
? Не могли бы вы показать соответствующие части вашей структуры каталогов?