文章

docker - python的学习-环境安装

docker - python的学习-环境安装

背景

开始入门python。

目的

  1. IDE开发好的代码,需要服务器上跑起来。
  2. 总结一下都做了哪些事情。

行动

ubuntu的 python:3.12.12 (海外机器安装顺利)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
wangfuyu:~/mydocker# cat py3.12.12.docker
FROM python:3.12.12 
RUN apt-get update && apt-get install -y   libglx-mesa0  mesa-common-dev \
&& apt-get clean &&  rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip

RUN pip install grpcio protobuf opencv-python requests  Pillow

WORKDIR /app
COPY main.py .
CMD ["python", "main.py"]
EXPOSE 50051

wangfuyu:~/mydocker# cat main.py 
#!/usr/bin/python3
print("hello world")

wangfuyu:~/mydocker# docker build -t abcd -f py3.12.12.docker .

centos的 python:3.11.1 (国内访问不到,需要用阿里云的镜像库)

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM python:3.12.12
RUN apt-get update && apt-get install -y   libglx-mesa0  mesa-common-dev \
&& apt-get clean &&  rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip

RUN pip install grpcio protobuf opencv-python requests  Pillow

WORKDIR /app
COPY main.py .
CMD ["python", "main.py"]
EXPOSE 50051


使用时映射不同的端口即可

1
2
3
4
5
6
7
8
#dev
docker run -d --name acrobatics-dev -p 50051:50051 -v /data/app/acrobatics-dev:/app py3.1.12

# release
docker run -d --name acrobatics-dev -p 50052:50051 -v /data/app/acrobatics-dev:/app py3.1.12

# test
docker run -d --name acrobatics-test -p 50052:50051 -v  /data/web/acrobatics:/app abcd:latest 

其他,物理机器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 安装 pyenv (安装完成,根据提示修改即可)
curl https://pyenv.run | bash

#安装统一python版本(例如:python3.12.12)
pyenv install 3.12.12
pyenv global 3.12.12  # 设为全局默认(可选)

# 图像依系统lib库,python虚拟环境
apt-get update && apt-get install -y   libglx-mesa0  mesa-common-dev   python3-venv
# 然后到项目根目录开始走起了
cd {projectRootDir}
python -m venv myenv
source myenv/bin/activate
pip install grpcio protobuf opencv-python requests  Pillow dotenv
#可选
# pip install --upgrade pip
python main.py

多版本管理

系统内置了较高或者较低版本,切换到集群一致的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 安装 pyenv
curl https://pyenv.run | bash
WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by appending
# the following to 
# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
# and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"

# Restart your shell for the changes to take effect.

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"

# 安装 Python 3.12.12
pyenv install 3.12.12
pyenv global 3.12.12  # 设为全局默认(可选)
本文由作者按照 CC BY 4.0 进行授权