在无网centos中简易部署python环境
程序员文章站
2023-12-21 16:11:46
...
1 准备阶段
为了模拟真实的环境,我用docker从官方仓库pull下来了一个centos系统,然后安装了python3.6.0。
1.1 创建容器
- 利用
docker images
查看所有的镜像; - 根据镜像的名字,如centos,创建容器,注意容器要有交互的shell,因此命令为:
docker run -it centos '/bin/bash'
; - 利用
docker ps -a
查看所有的容器,利用docker rename <container-id> test
将容器重命名为test; - 可以从本地传输文件到容器中;
- 利用
docker start -i test
启动容器。
1.2 安装python
解压从官网下载的压缩包,进入解压后的文件夹,运行:
./configure --prefix=/usr/path/to/python3
指定python3的安装位置(注意:文件夹必须事先创建;系统必须要有GCC环境);
然后运行make && make install
(没有make
命令就用yum安装,安装过程中可能出现其他的问题,粘贴出来百度就可以得到答案)。
最后一步,创建一个软链接,目的是从任何位置都可以启动python3。需要注意的是,linux系统的正常运行需要python2,因此不能把系统自带的python2删除,为区分两者,将新装的python指定为python3
ln -s /usr/path/to/python3/bin/python3 /usr/bin/python3
然后修改~/.bashrc
文件,在最后添加如下代码:
PATH=$PATH:$HOME/bin:/path/to/python3/bin
export PATH
保存退出,然后source ~/.bashrc
生效。
这时,输入python3
就会进入python3.6.0的环境。
2 实施阶段
2.1 创建虚拟环境
为了各项目的独立,需要创建虚拟环境。命令如下:
python3 -m venv /path/to/new/virtual/environment
**虚拟环境:
source /path/to/new/virtual/environment/bin/activate
关闭虚拟环境:
deactivate
2.2 安装依赖包
- 在虚拟环境开启的情况下,利用
pip install <pkgs>
安装项目所需的依赖包; - 执行
pip freeze > requirements.txt
将包的信息写入requirements.txt文件中;
2.3 迁移至无网状态下安装依赖包
- 利用
pip download --destination-directory DIR -r requirements.txt
将所需依赖包下载至DIR目录下; - 将
requirements.txt
和DIR
都利用docker cp
命令导出,然后复制到目标服务器上,注意目标服务器的python版本需要与容器中的版本一致; - 执行
pip install --no-index --find-links=DIR -r requirements.txt
,即可实现从本地安装依赖环境。