很多同学会使用宝塔面板的python项目管理器部署django/flask等python项目。但是对于使用python项目管理器安装的python在哪,以及如何让安装的python能够应用于系统全局还不是很清楚,今天我们就来讲一讲宝塔面板的python使用。
使用命令“ps -aux|grep python”可以查到当前系统中的python相关文件信息, 发现python项目管理器安装的python在/www/server/panel/pyenv目录中。
[root@instance-ykiytxl9 ~]# python3 -bash: python3: command not found [root@instance-ykiytxl9 ~]# ps -aux|grep python root 1042 0.0 0.4 573928 19292 ? Ssl 10:36 0:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P root 3371 0.0 1.5 510676 63048 ? Sl 10:50 0:17 /www/server/panel/pyenv/bin/python /www/server/panel/BT-Panel root 3393 0.0 1.1 1050596 47096 ? Sl 10:50 0:03 /www/server/panel/pyenv/bin/python /www/server/panel/BT-Task root 3604 0.0 0.8 362988 33772 ? Ssl 10:50 0:01 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid root 30873 0.1 0.0 0 0 ? Z 15:50 0:00 [python] <defunct> root 30988 0.0 0.0 112816 976 pts/0 S+ 15:52 0:00 grep --color=auto python
上面已经找到了安装的python,但是系统中无法使用。
如何才能使用自己安装的python版本呢?当然是添加软连接命令!命令如下:
ln -s /www/server/panel/pyenv/bin/python3.7 /usr/bin/python3 ln -s /www/server/panel/pyenv/bin/pip3 /usr/bin/pip3
命令运行后将可以使用python3和pip3调用安装的python,如图所示:
上面的操作解决了python3.7的调用问题,但是系统默认打开的python还是python2,这样的话如果我们用virtualenv虚拟环境运行python项目,系统默认创建的python2的虚拟环境,这样显然不方便。
# echo $PATH输出当前环境变量,显然没有python3.7 [root@instance-ykiytxl9 bin]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
如何做到配置virtualenv的时候,优先找到python3.7环境为base环境呢?只需要将python3.7的目录置于环境变量最前面,因为path的路径查找是有优先级顺序的!!!
打开配置环境变量的文件/etc/profile,将python3.7路径写入到文件/etc/profile中,再运行source /etc/profile #读取这个文件,让python3生效每次登录就会自动生效。
[root@instance-ykiytxl9 bin]# vim /etc/profile [root@instance-ykiytxl9 bin]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@instance-ykiytxl9 bin]# source /etc/profile [root@instance-ykiytxl9 bin]# echo $PATH /www/server/panel/pyenv/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@instance-ykiytxl9 bin]#
此时可以正确使用python3啦!
会发现不用写“python3”和“pip3”, 直接写“python”和“pip”的结果就是新安装的python。