這幾天我在嘗試透過Dockerfile建立python3.6環境時遇到以下錯誤訊息
不確定是否因為Dockerfile中相關安裝指令過舊的關係,以下為我Dockerfile中相關安裝指令
RUN sudo apt-get --yes install software-properties-common
RUN sudo add-apt-repository --yes ppa:deadsnakes/ppa
RUN sudo apt-get update
RUN sudo apt-get --yes install python3.6
RUN echo 'alias python="python3.6"' >> ~/.bashrc
RUN sudo apt update
RUN wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
RUN sudo python3.6 get-pip.py
RUN sudo apt-get --yes install libmysqlclient-dev
查詢過網路上別人相關解決方法似乎也無法,想請教大家是否有遇過相關情況以及解決方法
首先你要告知那那個 Base OS 是那個?
不會說你拿 CentOS 來下 apt 指令 吧? (雖然看圖是沒下錯指令)
好吧教您debug 的方法 將來比較容易 自己寫 Dockerfile
docker run -it ubuntu
等一下就近去 docekr 那個小VM了
進去就看到 # update 一下 與 看OS版本
root@40501ecd8edb:/# apt-get update && apt-get install
root@40501ecd8edb:/# cat /etc/issue
Ubuntu 22.04.1 LTS \n \l
Ubuntu 22.04.1 安裝 python 3.6 只能用 Compile Python....
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev \
libgdbm-dev libnss3-dev libedit-dev libc6-dev wget
wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
sudo tar -xzf Python-3.6.15.tgz
cd Python-3.6.15
sudo ./configure --enable-optimizations -with-lto --with-pydebug
sudo make altinstall
python3.6
最後你會看到
換OS 版本比較快 ubuntu:18.04
docker run -it ubuntu:18.04
進去執行 就看到了
apt-get update
apt-get -y install python3
python3
我是用Ubuntu 16.04.7,最後我改成如下就可以了!
# Python 3.6 安裝
RUN sudo apt-get --yes install software-properties-common
RUN sudo add-apt-repository -y ppa:jblgf0/python
RUN sudo apt-get update
RUN sudo apt-get --yes install python3.6
RUN echo 'alias python="python3.6"' >> ~/.bashrc
RUN sudo apt-get update
RUN wget --no-check-certificate https://bootstrap.pypa.io/pip/3.6/get-pip.py && \
python3.6 get-pip.py
RUN pip install --upgrade pip
RUN sudo apt-get --yes install libmysqlclient-dev
# Python 3.6 安裝
RUN sudo apt-get --yes install software-properties-common
RUN sudo add-apt-repository -y ppa:jblgf0/python
RUN sudo apt-get update
RUN sudo apt-get --yes install python3.6
RUN echo 'alias python="python3.6"' >> ~/.bashrc
RUN sudo apt-get update
RUN wget --no-check-certificate https://bootstrap.pypa.io/pip/3.6/get-pip.py && \
python3.6 get-pip.py
RUN pip install --upgrade pip
RUN sudo apt-get --yes install libmysqlclient-dev