本帖主要是利用BTpanl项目管理器上传项目后自动生成对应的ENV虚拟环境方便一些已有一定基础的人员在机器里更容易去跑python项目去管理项目对应的环境,在管理器里面碰壁踩坑以至于我目前无法正常使用项目管理器去成功跑起一个项目,只能说明第一我水平有限,第二论坛相对python管理器的帖子比较少,出了问题各种原因每个人项目不一样出的原因也都不同,在这里我只能说一些我遇到的问题以及最后的解决方法供大家借鉴一下。
本来机器用宝塔面板是跑php的(在此水一下用了wamp、lanp等等的知名的一键包、那个upup等,最后感觉还是宝塔的最好用),结果发现有一个python项目管理器,本身也接触python我前面在管理器中启动方式使用gunicorn来去创建项目,测试添加项目删除项目无数次,但是后面项目一直未能正常启动,看了日志报错很多,当时由于想偷懒没去看日志就在论坛找帖子看看是否有同样遇到问题的帖子,其中看了一篇文章 说启动方式使用gunicorn始终不能正常启动必须要用uwsgi方式去启动项目,所以也更改了项目的启动方式,管理器上 项目确实是启动了,但是发现项目对应的端口却没有起来,于是再去看日志提示,这次日志很简短,大致意思还是项目对应的某个模块缺失,这把没办法了真的要去找模块安装问题了。以下是整个检查过程
项目上机前得从可以正常运行的环境生成pip安装依赖包
在本地进入ENV虚拟环境然后键入pip freeze>requirements.txt,稍等片刻即可生成requirements.txt文档,然后再到机器上去检查虚拟环境中的pip 依赖包安装清单进入项目虚拟环境
source /www/proj/proj_venv/bin/activate
查看pip依赖包清单
pip list
最后发现确实是有依赖包未安装上,想去直接指定安装源提示不在信任列表
pip install -i URL requirements.txt
cat 了一下pip.conf
pip的安装源默认是阿里云的,于是编辑pip.conf添加了一个豆瓣 安装源
[global]
index-url = URL
index-index-url = URL
[install]
trusted-host = mirrors.aliyun.com
trusted-host = pypi.douban.com
再去pip install requirements.txt 然后再去检查未安装的依赖包是否安装上,后面发现依赖包安装上了
启动项目
python /www/proj/manage.py runserver 5000
Performing system checks...
System check identified no issues (0 silenced).
October 19, 2019 - 20:22:10
Django version 1.9, using settings 'proj.settings'
Starting development server at URL
Quit the server with CONTROL-C.
提示项目启动OK了,但是5000的端口外网貌似访问不了,在本机上crul URL显示没有问题,项目对应的上面有一个映射域名的功能,因为我阿里云备案未过所以没使用此功能,于是自己建了一个站然后反向代理转发了5000端口,测试一切正常,后面就可以整理整个踩坑过程了。
这里总结一下,项目未能正常启动最重要的多半还是依赖包未能全部安装到位,安装源没有对应的依赖包时 可以再添加另一个安装源
无法正常使用gunicorn和uwsgi去启动项目,原来项目是python启动 建议最好是python启动,项目管理器最主要的方便之处还是对应的项目python的虚拟环境管理。
欢迎大家水一下 交流一下
|
|