使用 pipenv 我有以下 pipfile:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
uuid = "*"
gunicorn = "*"
psycopg2-binary = "*"
[dev-packages]
[requires]
python_version = "3.8"
然后我的 Dockerfile 設定如下:
FROM python:3.8.3-slim-buster
RUN useradd deploy_trial
WORKDIR /home/deploy_trial
RUN pip install pipenv
COPY . /home/deploy_trial/
RUN pipenv install --deploy
CMD ["python","./app/text.py"]
然而,雖然構建似乎成功,但當我運行映像時,我收到一條錯誤訊息:
Traceback (most recent call last):
File "./app/text.py", line 1, in <module>
import psycopg2
ModuleNotFoundError: No module named 'psycopg2'
所以它顯然認為 psycopg2 尚未安裝......這真的很奇怪,因為當我在本地機器上使用 psycopg2-binary 并且我的所有程式在代碼運行時將安裝識別為 psycopg2 時。有誰知道如何解決這一問題?
uj5u.com熱心網友回復:
我的碼頭檔案:
FROM python:3.8.3-slim-buster
RUN python -m pip install pipenv
COPY script.py script.py
COPY Pipfile Pipfile
RUN pipenv install
CMD ["pipenv", "run", "python", "script.py"]
腳本.py:
import psycopg2
print('it is ok')
點檔案:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
psycopg2-binary = "*"
[dev-packages]
[requires]
python_version = "3.8"
它適用于這樣的配置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/410391.html
標籤:
上一篇:如何訪問節點紅色靜態目錄
