Я уже некоторое время использую python с setuptools, но недавно я пытался улучшить способ структурирования проекта python.Это привело меня к «pipenv», и я нашел это действительно интересным, поскольку мне не очень понравился «venv».
Я сделал почти все, что я бродил с «pipenv», но есть один важныйфункция, которую я не могу сопоставить, когда использовал инструменты установки, и я начал думать, что, возможно, меня немного смущает вопрос «что есть что» и цель каждого решения.
Поэтому мне в основном нужно установитьинструменты, которые я делаю, чтобы другие коллеги могли использовать, и я сохранил это, используя setuptools с правильным make-файлом:
install:
pip3 install --upgrade pip
pip3 install -r requirements.txt
python3 setup.py install --record install.txt
test:
python3 setup.py test
clean:
rm -rf .eggs/
rm -rf SCRT.egg-info/
rm -rf build/
rm -rf dist/
rm -rf htmlcov/
rm -rf .coverage
rm -rf lib/__pycache__
rm -rf operations/__pycache__
remove:
cat install.txt | xargs rm -rf
rm -rf install.txt
.PHONY: install
(...)
entry_points={
'console_scripts': [
'tool = src.main:main'
]
}
(...)
, и с этим решением и надлежащим setup.py у меня мог бы быть скриптв моей папке bin и запустите его, как если бы это была программа.
Однако я не могу найти ничего подобного с pipenv, который нацелен на виртуальную среду, которую создает pipenv, без использования "pipenv run 'target'",Идея состоит в том, чтобы сделать его простым для других пользователей и просто сделать быструю установку и использование.
Есть предложения о том, как подойти к этому решению?