因为工程需要,在原本的Python的开发环境基础上添加一个Python3.6版本,同时新的Python依赖库要和旧的环境区分开,于是就有了这篇踩坑经历。如有更好的实现方式或者写的不对的地方请不要吝啬你的留言~

一、基本情况

使用的服务器只有用户权限,已经安装Python3.8.5,并且已有虚拟环境。
目的:安装Python3.6.0,建立相关虚拟环境,并在环境中安装tensorflow1.x

二、安装过程

1、首先下载Pythone3.6.0

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

对应版本修改版本号即可,或者直接登陆网站www.python.org手动下载对应版本的tgz包。再使用sftp命令上传到服务器即可。

ssh 用户名@IP
sftp> get /本地文件 /服务器目录
这条语句将从远程主机的目录下将 文件下载到本地 目录下。put 是上传。
pwd命令可以查询远程主机的当前路径。查询本机当前工作目录 lpwd。
s rm rmdir mkdir 这些命令都可以使用。同理调用本机都是加 l , 即 lls lrm.

2、创建一个解压目录,并且将刚才下载的安装包解压在该目录下

mkdir -p /home/你的用户名/python36

这里命名为Python36而不是Python3是为了和原有的Python3版本做区分

tar -zxvf Python-3.6.0.tgz

tar命令使用说明:用来压缩和解压文件,tar本身不具有压缩功能,通过调用压缩功能实现的 .

tar[必要参数][选择参数][文件]

例如常用的命令如下:
解压:tar -zxvf FileName.tar.gz
压缩:tar -zcvf FileName.tar.gz DirName

必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性

3、编译安装,进入刚刚解压的目录

cd python-3.6.0

配置安装目录,安装到刚刚创建的 /home/你的用户名/python36 文件下

./configure --prefix=/home/你的用户名/python36

编译

make

安装

make install

4、建立软连接
它的功能是为某一个文件在另外一个位置建立一个同不的链接。

ln -s /源文件 /目标文件
ln -s /home/用户名/python36/bin/python3 /home/用户名/python3.6

类似于Windows的快捷方式,我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。

5、将 /home/用户名/python36/bin/python3 加入环境变量

# vim ~/.bash_profile

进入vim编辑页面

export PATH=$PATH:$HOME/bin:/usr/local/python3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

添加新安装的Python路径时,顺便将原始的环境变量也添加进去了,不然会出现其他命令无法使用的情况(也可能我是个例)。

6、保存并 退出后

source ~/.bash_profile

使配置立即生效,下面是测试的结果,可以看到使用不同的命名即可调用不同版本的Python。

linux改变python环境变量 linux python环境变量配置_用户名


三、创建虚拟环境

mkvirtualenv -p python3 虚拟环境名称
例 :mkvirtualenv -p python3.6 python_test

创建完成后会自动进入虚拟环境,此时查看Python的默认版本 就是3.6.0了。

linux改变python环境变量 linux python环境变量配置_python_02


常用命令:

查看虚拟环境:$ workon 
激活虚拟环境:$ workon 虚拟环境名称
退出虚拟环境:$ deactivate
删除虚拟环境:
先退出:deactivate
再删除:rmvirtualenv python_test
获取虚拟环境的路径,可以通过在指定虚拟环境下,输入 which python 获得