docker - python的学习-环境安装
docker - python的学习-环境安装
背景
开始入门python。
目的
- IDE开发好的代码,需要服务器上跑起来。
- 总结一下都做了哪些事情。
行动
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 进行授权