ModuleNotFoundError in Docker

2024/10/4 5:34:34

I have imported my entire project into docker, and I am getting a

ModuleNotFoundError

from one of the modules I have created.

FROM python:3.8
WORKDIR /workspace/
COPY . /workspace/
RUN pip install pipenv
RUN pipenv install --deploy --ignore-pipfile
#EXPOSE 8000
#CMD ["pipenv", "run", "python", "/workspace/bin/web.py"]

I tried looking around for answers, but I cannot seem to get it working.

commands:

docker build -t atletico .
docker run -p 8000:8000 atletico

Docker Build: https://pastebin.com/FXMrY2En

Traceback (most recent call last):File "/workspace/bin/web.py", line 3, in <module>from bin.setup import setup_app
ModuleNotFoundError: No module named 'bin'

A copy of my directory:

├── Dockerfile
├── Pipfile
├── Pipfile.lock
├── README.md
├── bin
│   ├── __init__.py
│   ├── __pycache__
│   │   └── web.cpython-38.pyc
│   ├── setup.py
│   └── web.py
├── docker-compose.yml
├── frio
│   ├── __init__.py
│   ├── __pycache__
│   │   └── __init__.cpython-38.pyc
│   ├── app_events.py
│   └── config.py
├── routes
│   ├── __init__.py

docker-compose.yml:

version: '3'
services:db:image: postgres:12ports:- "5432:5432"environment:- POSTGRES_USER=postgres- POSTGRES_PASSWORD=postgres- POSTGRES_DB=test_dbredis:image: "redis:alpine"web:env_file:- .env.localbuild: .ports:- "8000:8000"volumes:- .:/workspacedepends_on:- db- rediscommand: "pipenv run python /workspace/bin/web.py"
Answer

So I finally fixed the issue. For those who may be wondering how was it that I fixed it. You need to define a PYTHONPATH environment variable either in the Dockerfile or docker-compose.yml.

https://en.xdnf.cn/q/70639.html

Related Q&A

Can I use md5 authentication with psycopg2?

After two hours of reading documentation, source code and help-threads, Im giving up. I cant get psycopg2 to authenticate with a md5-string. According to this thread I dont have to anything besides ena…

Python checking __init__ parameter

Ive been trying to figuring this out for the last few hours, and Im about to give up.How do you make sure that in python only a matching specific criteria will create the object?For example, lets say …

Minidom getElementById not working

Minidoms getElementById function is returning None for any entry I pass to it.For example, this code:l = minidom.parseString(<node id="node">Node</node>) print(l.getElementById(&q…

Optimization on piecewise linear regression

I am trying to create a piecewise linear regression to minimize the MSE(minimum square errors) then using linear regression directly. The method should be using dynamic programming to calculate the dif…

Python: Check if list of named tuples contains particular attribute value

I have a list of named tuples:from collections import namedtupleT = namedtuple(T, [attr1, attr2, attr3, attr4]) t1 = T(T1, 1, 1234, XYZ) t2 = T(T2, 2, 1254, ABC) t3 = T(T2, 2, 1264, DEF) l = [t1, t2, t…

javascript error: arguments[0].scrollIntoView is not a function using selenium on python

Im using Selenium on python and I would like to scroll to an element to click on it. Everywhere I see that the rigth things to do to go directly to the element is to use :driver = webdriver.Chrome() dr…

Uploading a static project to google app engines

Disclaimer: I already asked here, but apparently off-topic. I want to set up a page using this bootstrap template and host it as a static website using the google appengine service. Inside the google_a…

Python cannot import DataFrame

I am trying to use Pandas in Python to import and manipulate some csv file.my code is like:import pandas as pd from pandas import dataframe data_df = pd.read_csv(highfrequency2.csv) print(data_df.col…

Sum of product of combinations in a list

What is the Pythonic way of summing the product of all combinations in a given list, such as:[1, 2, 3, 4] --> (1 * 2) + (1 * 3) + (1 * 4) + (2 * 3) + (2 * 4) + (3 * 4) = 35(For this example I have t…

discord.py: How to get the user who invited/added the bot to his server? [solution]

I want to send a DM to the user, who invited/added the bot to his server. I noticed that its displayed in the audit log. Can I fetch that and get the user or is there a easier way to achieve that? Ex…