很多同学会使用宝塔面板的python项目管理器部署django/flask等python项目。但是对于使用python项目管理器安装的python在哪,以及如何让安装的python能够应用于系统全局还不是很清楚,今天我们就来讲一讲宝塔面板的python使用。

宝塔安装如何python

步骤1:安装Python项目管理插件

这个安装成功之后,我们在左边的‘软件商店’里选择‘宝塔插件’,找到‘Python项目管理’这个插件进行安装。

 

(注意:最新的宝塔版本已经更新,安装项目管理器的时候会让你选择安装的版本,建议选1.9的。)

7、安装项目所需要的Python版本。

安装成功之后,我们点击设置。

然后出现如下界面:

我们在版本管理里安装我们需要的Python版本。这里我以3.7.2为例,选择了国内的节点,国内节点安装会快一些。等一会就会安装成功。
 

宝塔中的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应用到linux系统全局?

 上面已经找到了安装的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。 

如何访问原来系统默认自带的python2呢,当然是输入命令“python2”啦!

virtualenv/virtualenvwrapper的使用

安装命令如下, 安装后可以用pip list命令检查是否安装成功。

pip install virtualenv
pip install virtualenvwrapper

查看virtualenvwrapper安装位置:

[root@instance-ykiytxl9 bin]# find / -name virtualenvwrapper
/www/server/panel/pyenv/lib/python3.7/site-packages/virtualenvwrapper

        如果要当前机器支持virtualenvwrapper,需要执行virtualenvwrapper.sh脚本文件,但是有一个问题,重启后,退出会话后,这个功能就失效了。如何才能保证一直有效呢?当然是:配置全局变量,让每次登陆linux时候,就加载这个virtualenvwrapper.sh脚本文件,使得virtualenvwrapper这个工具生效。

 打开这个用户环境变量配置文件~/.bashrc,写入以下信息,export 就是读取一段shell变量的命令

    vim   ~/.bashrc      #这个文件代表用户环境变量,每次登陆时候加载

# 设置virtualenv的统一管理目录pytonEnvs   ,生成的虚拟环境会在/www/pytonEnvs 目录下
export WORKON_HOME=/www/pytonEnvs   


# 添加virtualenvwrapper的参数,生成干净隔绝的环境,有的版本不加--no-site-packages参数
#export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=''        #无参数

# 指定python解释器,(这个得根据你自己机器环境来配)
export VIRTUALENVWRAPPER_PYTHON=/www/server/panel/pyenv/bin/python3.7

# 查找位置:find / -name virtualenvwrapper.sh
source  /www/server/panel/pyenv/bin/virtualenvwrapper.sh 
 完成配置信息后,读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
之后,就可以开始使用virtualenvwrapper,创建一个虚拟环境了
[root@instance-ykiytxl9 www]# mkvirtualenv test1
created virtual environment CPython3.7.9.final.0-64 in 640ms
  creator CPython3Posix(dest=/www/pytonEnvs/test1, clear=False, no_vcs_ignore=False, 

………………

virtualenvwrapper.user_scripts creating /www/pytonEnvs/test1/bin/postactivate
virtualenvwrapper.user_scripts creating /www/pytonEnvs/test1/bin/get_env_details
(test1) [root@instance-ykiytxl9 www]# workon
test1
(test1) [root@instance-ykiytxl9 www]# workon test1

(test1) [root@instance-ykiytxl9 www]# which python
/www/pytonEnvs/test1/bin/python
(test1) [root@instance-ykiytxl9 www]# which pip
/www/pytonEnvs/test1/bin/pip
(test1) [root@instance-ykiytxl9 www]# pip list
Package    Version
---------- -------
pip        21.3.1
setuptools 60.2.0
wheel      0.37.1

virtualenvwrapper常用命令

        安装使用了virtualenvwrapper 就不需要再手动安装virtualenv了,且命令也会简单很多,常用命令如下:

mkvirtualenv  venv1       # 这一步会创建venv1,并且放入到WORKON_HOME变量定义目录下,并且自动激活虚拟环境
lsvirtualenv                     #查看当前机器所有的虚拟环境
deactivate                         #退出虚拟环境
workon   venv2                   #用于激活虚拟环境,也用于在多个虚拟环境中来回切换,
rmvirtualenv venv3                   #用于删除虚拟环境,也会自动找到所有的虚拟环境
cdvirtualenv                     #用于直接进入虚拟环境的目录,此命令需要激活虚拟环境
cdsitepackages               #用于直接进入pip3软件包的目录
.
 

最后, 对于virtualenv和virtualenvwrappe更进一步的详细了解和使用可以参考:Linux系统 05 python环境配置02 之 virtualenv与virtualenvwrappe以及freeze_一越王超的博客-CSDN博客思考:在使用Python开发的过程中,工程多了以后,会不会遇到如下问题:不同的工程依赖不同版本的库的问题,如何让一台机器同时跑不同的python或django版本;开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。如果想让各个开发人员的环境一致, 怎样能够简单进行管理.此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。这里,就要隆重...https://blog.csdn.net/qq_36564503/article/details/104959266

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐