Centos7宝塔部署python

本文介绍如何在宝塔面板上利用Python项目管理器和Anaconda创建隔离的虚拟环境,解决依赖冲突问题,并部署Python项目。

前言:宝塔本身有python项目管理器,但是有些依赖安装会存在问题,比如paddlehub安装总是失败,本文在宝塔安装了anaconda基础上配合python项目管理器去部署项目,保障依赖隔离不混乱。

centos7宝塔安装conda流程地址:宝塔centos7安装Conda_一码超人的博客-CSDN博客

一、安装python项目管理器

 二、创建站点目录

三、上传项目代码 

 四、项目管理器中创建项目

安装python一个版本

 添加项目

 

 开始初始化依赖

 

 此时项目路径中会创建一个管理依赖的文件夹

 五、使用conda部署依赖

这里我们用conda来安装管理依赖,这个python项目管理器会关联管理,所以请严格按照我的步骤走!

创建conda虚拟环境【-p是指定目录创建,指定的是python项目管理器创建的文件夹,方便它后期管理依赖】


conda create -p /www/wwwroot/py/2cdc66c1c33fd831cc3a2f3a7c06ea1a_venv python=3.8

 回车

 

 

 查看conda虚拟环境列表

conda env list

 创建成功了!

进入该虚拟环境

source activate /www/wwwroot/py/2cdc66c1c33fd831cc3a2f3a7c06ea1a_venv

 在该状态下可自由安装依赖,比如安装paddlehub【很奇怪,只有在conda中安装没问题】

 在该环境可自由使用pip安装任何依赖,不用怕冲突问题,在该虚拟环境中完全隔离的!

pip install --upgrade paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple

 

 

 报了错【打脸】。。。

 意思是没有找到该依赖合适的包

 针对该依赖单独安装一下

pip install setuptools_scm

 然后重新执行一下上一条安装命令

pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple

 没有问题了,因这个依赖比较特殊所以会报错特殊处理一下,其他依赖这边我基本没见过有这类问题

 上面是讲了安装paddlepaddle、paddlehub两个依赖,其他的举一反三,也可以通过如下命令批量安装:

pip install -r requirements.txt

所有依赖安装后查看python项目管理器中的模块管理

 可以看到conda安装 依赖同样也支持宝塔的python项目管理器

如果有第二个项目那就重复上述操作,然后conda再次创建一个虚拟环境去搭建即可!项目之间不会出现依赖冲突!

六、最后反向代理域名

 

 之后就不截图了,点击确认就OK了,可以直接通过输入的域名跑项目了!

最后在conda中查看依赖

conda list

 

### 环境准备 在开始部署之前,请确保您已经完成了以下准备工作: - 拥有一台运行CentOS 7系统的服务器。 - 已经安装了宝塔面板,并且可以正常访问其Web界面。 - 准备好您的Django项目文件,通常是一个包含`manage.py`文件的目录。 ### 安装必要的软件 登录到宝塔面板后,首先需要安装“Python项目管理器”插件,这可以通过宝塔面板的软件商店找到并安装。由于CentOS 7默认只安装了Python 2.7,而大多数现代的Django项目可能需要Python 3.x版本,因此还需要通过Python项目管理器安装所需的Python版本。 ### 创建Python虚拟环境 为了保证项目的独立性和避免不同项目之间的依赖冲突,建议为每个Django项目创建一个独立的Python虚拟环境。这可以在宝塔面板的“Python项目管理器”中完成,选择合适的Python版本来创建虚拟环境。 ### 上传并配置Django项目 接下来,可以通过宝塔面板的文件管理功能上传您的Django项目到服务器上的合适位置,或者直接通过Git等版本控制工具克隆项目到服务器。上传完成后,需要对项目进行一些基本的配置,包括但不限于数据库设置、静态文件路径等。 ### 配置WSGI Django项目通常需要通过WSGI服务器来运行,宝塔面板支持通过配置来启用WSGI服务。在宝塔面板中,您可以为您的Django项目配置WSGI应用,指定项目的入口文件(通常是`wsgi.py`),以及设置其他必要的参数。 ### 设置静态文件和媒体文件 Django项目中的静态文件(如CSS、JavaScript、图片等)和媒体文件(用户上传的文件)需要正确配置才能被Web服务器正确处理。在宝塔面板中,可以通过网站设置来指定静态文件和媒体文件的存储路径,并确保这些路径与Django项目的设置相匹配。 ### 测试部署 完成以上步骤后,重启您的Django项目以确保所有更改生效。然后尝试访问您的网站,检查是否一切正常工作。如果遇到问题,查看宝塔面板的日志功能可以帮助诊断错误原因。 ### 示例代码:配置Django项目的`settings.py` ```python # settings.py # 静态文件配置 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 媒体文件配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') ``` ### 示例代码:配置宝塔面板中的WSGI应用 假设您的Django项目位于`/www/wwwroot/your_project`,并且Python虚拟环境位于`/www/server/panel/vhost/python/your_env`,那么您的WSGI应用配置可能类似于: ```python import os import sys path = '/www/wwwroot/your_project' if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'your_project.settings' from django.core.wsgi import get_wsgi_application application = get_wsgi_application() ```
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一码超人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值