У меня есть проект в котором есть пакет файлов на python и отличные от python файлы
у меня есть такая иерархия питоно-проекта
app
| - configus.yml
| - postgresql_node_exporter.py
requirements.txt
setup.py
import os
from pathlib import Path
from setuptools import find_packages, setup, Command
from typing import List, Tuple
import json
import _version
DIRECTORY = Path(__file__).absolute().parent
REQUIREMENTS = DIRECTORY.joinpath("requirements.txt")
README = DIRECTORY.joinpath("README.md")
class CleanCommand(Command):
"""Custom clean command to tidy up the project root."""
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
os.system('rm -vrf ./build ./dist ./*.pyc ./*.tgz ./*.egg-info ./*/*.egg-info .eggs')
def read_requirements(file_name: str, exclude: Tuple) -> List[str]:
result = []
with open(file_name, "r") as reader:
for line in reader:
trimmed_line = line.strip()
if not trimmed_line.startswith(exclude):
result.append(trimmed_line)
return result
requirements = read_requirements("requirements.txt", ("#", "--"))
with open(README, "r", encoding="utf-8") as readme_reader:
long_description = readme_reader.read()
setup(
name="postgresql_exporter",
version=_version.get_version(),
author="",
author_email="",
description="",
long_description=long_description,
long_description_content_type="text/markdown",
url="",
packages=find_packages(),
include_package_data=True,
install_requires=requirements,
setup_requires=['pytest-runner'],
tests_require=['pytest', 'setuptools_scm<=6.4.2'],
test_suite='test',
cmdclass={
'clean': CleanCommand,
},
)
MANIFEST.in
include requirements.txt
graft app/
запускаю build
python setup.py bdist_wheel bdist
в результате получаются в папке ./dist 2 файла
postgresql_exporter-1.0.0-py3-none-any.whl
postgresql_exporter-1.0.0.macosx-12-x86_64.tar.gz
потом в локальное окружение ставлю пакет
pip3 install --no-index --no-deps -f ./dist postgresql_exporter
в итоге все есть кроме requirements.txt
% ls -las venv/lib/python3.10/site-packages/app
__init__.py
__pycache__
configus.yml
postgresql_node_exporter.py
где requirements.txt его искать и почему pip его не установил?