精华内容
下载资源
问答
  • Python项目管理

    千次阅读 2015-12-27 11:45:40
    那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢? 官方做法是使用Virtual Environments将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或...

    Virtual Environments
    首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?虚环境Virtual Environments可以解决这个问题。
    一般情况下,我们使用python解释器运行python脚本或module:

    >python myScript.py

    运行的目录就是安装的python解释器python.exe所在的目录。而Virtual Environments就是给每个项目都生成一个项目独有的目录。这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
    如果使用IDE,IDE会自动安装虚环境。创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录\Tools\scripts下。这是一个生成Virtual Environments的工具。然后运行:

    >pyvenv tutorial-env

    运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual Environments目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或module),则加入到各自Virtual Environments目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual Environments后,还需要激活。做法很简单,在上例tutorial-env目录下执行命令即可:

    >tutorial-env/Scripts/activate

    PIP
    PIP是官方提供的安装python第三方类库(packages/module)的工具。它可以去PPI(python packages index)查找或下载第三方类库。网址是:https://pypi.python.org/pypi
    找到上例Virtual Environments目录下的pip.exe并运行:

    >pip install lib_name

    即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual Environments的所有项目使用。PIP安装的其实是package。

    Requirements.txt
    在Virtual Environments目录下运行:

    >pip freeze > requirements.txt

    可以产生一个当前项目所有依赖类库及其版本的list文件,文件名就是requirements.txt(当然也可以用别的名字)。文件内容大致如下:

    novas3.1.1.3
    numpy
    1.9.2
    requests==2.7.0

    使用requirements.txt的好处就是:
    The requirements.txt can then be committed to version control and shipped as part of an application. Users can then install all the necessary packages with “install -r“:

    >pip install -r requirements.txt

    这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用version control存储Virtual Environments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。

    setup.py
    主要功能就是将modules打包。生成的包被分发后,就可以很容易地被import并使用了。如果不使用这种方式,而是直接分发源代码,则import时需要明确知道源码的目录结构等才能import,非常麻烦。

    展开全文
  • 宝塔面板使用python项目管理器部署flask项目 环境说明:python项目管理器、安装的python版本:3.6.8(国内节点) 1、上传文件 首先要将你的项目文件上传上服务器,然后将其解压,转到项目根目录 2、导出项目依赖包 ...

    宝塔面板使用python项目管理器部署flask项目

    环境说明:python项目管理器、安装的python版本:3.6.8(国内节点)

    1、上传文件

    首先要将你的项目文件上传上服务器,然后将其解压,转到项目根目录
    在这里插入图片描述

    2、导出项目依赖包

    命令如下,如果pip不能够使用,提示如下的话,就是用pip3命令
    在这里插入图片描述

    pip freeze >requirements.txt
    

    3、python项目管理器部署项目

    在这里插入图片描述

    4、访问网站

    你的公网ip加端口号

    5、问题解决

    如果你经过这个步骤访问网站时候报错,那么你就可以去python项目管理器的日志中去查看,比如我这里是缺少flask模块,可能在导出模块依赖文件时候有了冲突,只要发现模块缺失,那就继续按照步骤来
    在这里插入图片描述
    可以在 项目的模块这里下载相应的模块,模块名称和版本你可以在你的pycharm中的依赖查看
    在这里插入图片描述
    添加完成后重启项目,就可以了
    在这里插入图片描述

    展开全文
  • 采用宝塔python项目管理器支持Django

    千次阅读 2020-01-06 12:33:55
    1、软件商店安装python项目管理器; 2、版本管理安装适合的python版本,安装时间较长,可能中断但显示安装成功,需重新安装,否则后续容易出现乱七八糟的错误; 3、上传Django项目到空间,最好放在wwwroot下,项目...

    1、软件商店安装python项目管理器;
    2、版本管理安装适合的python版本,安装时间较长,可能中断但显示安装成功,需重新安装,否则后续容易出现乱七八糟的错误;
    3、上传Django项目到空间,最好放在wwwroot下,项目包含requirement.txt;
    4、python项目管理器-》项目管理-》添加项目项目,路径是项目文件夹,框架选django,启动方式用uwsgi如下图所示:
    在这里插入图片描述

    5、项目建立后,在命令行输入 source 项目路径/项目名_venv/bin/activate 如:source /data/python/project1_venv/bin/activate,进入虚拟环境,在虚拟环境下进入项目目录,运行python manage.py runserver 0.0.0.0:8000 查看运行错误情况(非常重要),只有这里运行正常,进行下一步才不会出错。前次添加项目一直提示缺少sqlite模块,折腾老半天,其实是安装python版本时超时了退出,但又安装上了,没注意这个细节,之后卸载重新安装一次就好了。
    6、运行无误之后,应该能在浏览器端用ip:端口访问了。
    7、用域名访问做个映射就行,在项目管理-》映射-》输入域名,会在网站里新增一个映射域名。
    8、在网站-》设置-》配置文件里新增对应端口参数及静态文件处理,我这里是:

    location / {
        include  uwsgi_params;
        uwsgi_pass  127.0.0.1:8000;           
    }
    location /static/
    {
        alias /www/wwwroot/dust_system/login/static/;
    }
    

    重载一下Nginx设置就可以了。


    有次重启后出现错误:
    nginx: [emerg] duplicate location “/”

    是nginx配置出现问题,但实际上是压根没改过,后来发现在:
    网站-》设置-》反向代理 多了数据,将这条数据删除,重载nginx配置即可。

    展开全文
  • 使用宝塔面板的python项目管理器部署django项目

    千次阅读 多人点赞 2019-11-07 14:23:13
    使用宝塔面板的python项目管理器部署django项目部署方式系统环境Django项目结构前期准备开始部署1.至此数据库准备已经完成。接下来上传本地的Django项目,默认上传到/www/wwwroot/目录下2.上传完成后在settings.py将...

    部署方式

    nginx+uwsgi+python3.7.2+django2.2+mysql5.7 -----使用宝塔面板快速部署

    系统环境

    1. 腾讯云服务器,1核2g centos7.6 安全组全部放行(按需求,宝塔需要的端口和Django的8000端口一定要放行,部署完后可以再关8000端口);
    2. 宝塔面板7.0.2 LNMP方式 mysql5.7(新版宝塔已经可以安装8.0,根据调试环境的mysql版本选择) nginx1.17.1 python项目管理器1.5 ;
    3. django2.2;

    Django项目结构

    此次主要是演示宝塔面板部署python项目,所以我只建了一个基本的Django项目 内含一个app,一个html和一些css js文件。
    基本结构如图
    项目结构
    这里项目名Absolute和app名myblog都是随便取的 无实际意义,templates是自己创建来存放网页文件,static是用来收集静态文件的,具体下文会交代,

    前期准备

    1.因为用了mysql数据库 所以要将mysql数据表结构导出到sql文件,上传至宝塔,并在宝塔上生成数据库
    输入命令:mysqldump -uroot -p test2>test2.sql
    输入密码后导出成功 注意这里的test2是当前项目使用的数据库名 根据实际情况填写,导出到同名的sql文件中
    2.收集项目的静态文件至项目根目录下的static文件夹中,具体操作步骤请参考
    Django收集静态文件
    3.在宝塔创建数据库 步骤如图
    (1)在宝塔里添加数据库,注意数据库名和用户名不能为root,记录用户名和数据库名和密码(test2,test2,123456)
    添加数据库,用户名不能为root
    (2)从本地上传刚才导出的sql文件
    选择刚才导出的test2.sql
    (3)导入上传好的文件
    导入上传好的数据库

    开始部署

    1.至此数据库准备已经完成。接下来上传本地的Django项目,默认上传到/www/wwwroot/目录下

    上传Django项目
    ps:宝塔的上传有时候不太稳定,可以选择用ftp工具上传到同目录下

    2.上传完成后在settings.py将debug改为False ,database配置为刚才记录的数据库名 用户名和密码可以直接在宝塔面板里编辑。

    3.打开宝塔里已经安装好的python项目管理器,在版本管理里先安装所需的python版本,我这用的是3.7.2,注意:python项目管理器所安装的python版本和各种依赖模块都是在虚拟环境中,全局shell里调用不了。

    安装所需python版本

    4.安装好python版本后,在项目管理中添加项目,根目录和运行目录都是所上传的项目根目录,项目名和上传的文件夹名字一致添加项目

    如果没有requirements.txt 可以在项目页面的“模块”里手动添加所需模块,比如我这个项目只用了Django和pymsql,而在开发环境又没有用虚拟环境,全局环境里很多不必要的包,就没导出requirements,导出requirement.txt参考
    python项目导出requirements.txt

    5.搞定模块后,先暂停正在运行的python项目,还有一些坑在这里。如图在宝塔文件任意位置进入宝塔终端,切换到项目根目录,启用项目虚拟环境

    cd /www/wwwroot/Absolute/
    source ./Absolute_venv/bin/activate
    python3 manage.py runserver
    

    在这里插入图片描述
    此时会报错

    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
    

    解决办法:
    ctrl+c退出当前运行状态
    终端输入

    vi /www/wwwroot/Absolute/Absolute_venv/lib/python3.7/site-packages/django/db/backends/mysql/base.py
    

    将代码

    if version < (1, 3, 13):
        raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
    
    

    注释掉 esc+:wq 保存退出
    再输入

    vi /www/wwwroot/Absolute/Absolute_venv/lib/python3.7/site-packages/django/db/backends/mysql/operations.py
    

    将第146行的代码

    query = query.decode(errors='replace')
    

    修改为

    query = query.encode(errors='replace')
    

    再保存退出 此时执行

    python3 manage.py runserver
    

    就正常了,调试完毕,接下来开始配置uwsgi

    6.回到python项目管理器,点击“配置”,再最下方加上

    static-map = /static=/www/wwwroot/Absolute/static
    

    配置uwsgi.ini文件
    保存后点“重启”重启项目
    在浏览器地址栏里输入 服务器公网IP:8000 刚才部署的项目已经可以通过ip和端口访问了
    IP+端口访问
    这里如果没有正常访问的同学请检查以下几项配置
    (1)是否收集静态文件至static
    (2)DEBUG是否关闭
    (3)宝塔面板-安全里是否放行了8000端口
    (4)云服务器安全组里是否放行了8000端口
    (5)静态文件路径是否有错误,包括在html里的引入要以/static/x x x x开头的绝对路径

    7.最后开始配置nginx反向代理,宝塔里可以很容易实现。

    (1)在项目管理点击“映射”,输入已经提前解析到此服务器的域名
    映射域名
    (2)在“网站“里找到刚才生成的项目,在”设置“里找到”反向代理“,点击”配置文件“
    nginx反向代理
    (3)在配置文件里添加如下代码

        location /static/
        {
            alias /www/wwwroot/Absolute/static/;
        }
    

    注意路径、缩进和插入位置
    nginx反向代理配置
    保存后回到python项目管理器 手动重启项目

    在浏览器输入刚才映射的域名 项目已经可以正常访问啦
    域名访问

    最后是收尾工作

    将宝塔面板-安全里放行的8000端口删除,这样别人只能通过域名访问网站,不能通过IP:端口来访问了。
    云服务安全组里的8000端口可以不删,因为一台服务器可能会部署多个Django项目,每次都要重新开很麻烦
    
    展开全文
  • python项目管理器添加Python项目 启动方式选择uwsgi 安装成功之后,映射到域名。 访问时候会出现 Internal Server Error 停止运行,进入对应项目运行环境, source 项目路径/项目名_venv/bin/activate ...
  • 当运行需要python3.x的项目几乎都会报错,要更换python的版本挺麻烦的,可能会因为一个小步骤没搞好,缺少库之类的,或者没配置好影响python2.x的运行,本教程是利用宝塔面板的Python项目管理器(centos系统才能使用...
  • 一、引言 最近在学习《Flask Web Development 2nd Edition》的时候,作者开篇就介绍如何...众所周知,项目的环境管理一直是比较头疼的问题,如果有两个项目,一个用的是 a 库的 v1 版本,一个用的是 a 库的 v2 版...
  • static-map = /static=/www/wwwroot/chart-t/static
  • pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6) 现在pip版本是9.0.3,安装插件会有警告,先升级pip #pip3 install --upgrade pip WARNING: Running pip install with root privileges is gener
  • Python项目文件管理

    千次阅读 2017-01-02 16:15:04
    除了在编程过程中要注意空行,加空格,以及合理的写注释之外,还需要在项目管理上将文件组织的合理易懂,本文主要是关于如何组织自己的Python项目,导入各种情况下的代码块的方案。1.目标文件和编写文件在同一个路径...
  • 使用Python Tkinter和SQLi实现项目资源管理平台小项目
  • Python项目:学生信息管理系统(完整版)

    万次阅读 多人点赞 2018-06-06 19:11:10
    本文是基于上一篇(python项目:学生信息管理系统(初版) )进行了完善,并添加了新的功能。 主要包括有: 完善部分:输入错误;无数据查询等异常错误 新的功能:文件的操作:文件的读写,其中重点是对文本字符...
  • 本文仅供学习交流使用,如侵立删!联系方式见文末 阿里云服务器使用宝塔面板搭建Python项目 环境 centos7.4.5 python3.7 nginx1.18.0 1、阿里云重置服务器系统 全新服务器可跳过此步骤 ...python项目管理
  • pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。...
  • 管理:适用于Python项目的命令行管理器+交互式Shell

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 261,519
精华内容 104,607
关键字:

python项目管理

python 订阅