Код: Выделить всё
.../
docker/
src/
my_app/
__init.py__
# rest of py files
my_app_entrypoint.py
Pipfile
Pipfile.lock
pyproject.toml
setup.cfg
setup.py
test/
build.yaml
Dockerfile
...
Код: Выделить всё
...
COPY src/Pipfile* /home/workspace/
RUN pip install --upgrade pip \
&& pip install pipenv \
&& pipenv requirements > requirements.txt \
&& pip install -r requirements.txt
...
COPY src/pyproject.toml ./
COPY src/setup.cfg ./
COPY src/setup.py ./
COPY src/my_app_entrypoint.py ./
COPY src/my_app ./my_app
RUN chmod a+x my_app_entrypoint.py
...
Код: Выделить всё
Traceback (most recent call last):
File "/home/workspace/my_app_entrypoint.py", line 2, in
import my_app
File "/home/workspace/my_app/__init__.py", line 20, in
__version__ = metadata.version("my_app")
File "/usr/local/lib/python3.9/importlib/metadata.py", line 569, in version
return distribution(distribution_name).version
File "/usr/local/lib/python3.9/importlib/metadata.py", line 542, in distribution
return Distribution.from_name(distribution_name)
File "/usr/local/lib/python3.9/importlib/metadata.py", line 196, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: my_app
Код: Выделить всё
__version__ = metadata.version("my_app")
Код: Выделить всё
[metadata]
name = my_app
version = 1.0.0
...
[options]
packages =
my_app
Я что-то упустил или делаю что-то не так? Может быть, мне следует включить RUN pip install . в Dockerfile после копирования файлов приложения, чтобы установить пакет?
Мобильная версия