python3+pdm+web.py+MySQL+PyCharm安装和使用

注:在整个安装过程中最最最重要的步骤就是给每个包安装器换源,阿里源经常报错不建议用

1.python 安装后就有pip,所以第一步是给pip换源

##清华大学
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

 其他镜像源可参考 pip国内镜像源

2.下载pipx

pip install pipx

安装完后如过有提示请选择Y,应该是是否注入环境变量的提示,如果是的话可以省去配置环境变量的操作

注意记录输出提示中的路径,配置环境变量是需要用到

3.安装完后关掉当前控制台重新开一个输入 pipx 正确输出pipx命令列表则跳过环境变量配置,如果提示 'pipx' 不是内部或外部命令,也不是可运行的程序或批处理文件则继续下一步配置环境变量

4.配置pipx环境变量

找到pipx可执行文件的位置,在2步骤中有记录的就是

一般在 C:\Users\用户\AppData\Local\Programs\Python\Python312\Scripts\ 下
将对应的地址粘贴至环境变量配置的path中(不要复制上面的,每个人电脑用户名是你自己取的)

环境变量配置:右键我的电脑/此电脑 -> 属性 -> 高级系统设置(最下面/最右侧) ->环境变量

配置后点击所有弹出窗口的确认按钮

5.重复步骤3

6.将 pipx 安装的包的可执行文件地址加入环境变量,pipx安装::pdm)不用额外配置环境变量

pipx ensurepath

7.安装pdm

pipx install pdm

 8.pdm 更换pypi源

pdm config pypi.url https://pypi.tuna.tsinghua.edu.cn/simple

其他 pypi 镜像源

9.初始化一个项目,先创建项目空文件夹,cd至文件然后执行

pdm init
  • 选择python版本-会显示全部,选择自己安装的
  • 项目是可安装的库吗?如果是,我们需要再问几个问题,包括项目名称和生成后端[y/n] -小白按回车就对了

  • License 类型
  • 作者信息
  • 邮箱信息 
  • 依赖的 Python 版本

普通项目选择好python版本后一直回车就好

10.使用PyCharm打开项目

打开后右下角有Python解释器配置提示,一般来说会自动获取到项目下的 .venv 目录,直接点确认就行,不放心可以在右上角设置 -> 项目 -> Python解释器中查看和配置,不是项目下的话,点击添加本地解释器->选择现有 -> 选择项目目录下.venv/Scripts/Python.exe

11.安装 web.py

 pdm add web.py

12. 在 __init__.py 文件中写入官方示例 

import web

urls = (
    '/', 'index'
)


class index:
    def GET(self):
        return "Hello, world!"


if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

13.在 pyproject.toml 配置命令别名

在pyproject.toml末尾追加 [tool.pdm.scripts]        

127.0.0.1 是为 web.py 启动定义地址,不定义是 0.0.0.0 基本无法访问

[tool.pdm.scripts]
start = 'pdm run src/init文件上层文件夹没有可去掉/__init__.py 127.0.0.1'

14.启动项目

点击左下角的终端工具输入运行命令

pdm run start

访问控制台输出地址 http://127.0.0.1:8080 即可看见页面输出Hello,Word!

-----      下面是数据库相关的 mysql + pymysql      ------

15.安装pymysql

pdm add pymysql

16.安装 cryptography

高版本MySQL默认带密码加密/验证需要这个工具才能正确连接

 pdm add cryptography

'在 __init__.py 同级目录下新建 DataBase 目录

16.在DataBase目录下新建数据库访通用文件 config.py

import web

"兼容web.py"
import pymysql

pymysql.install_as_MySQLdb()

"""创建数据库对象"""

db = web.database(dbn='mysql', user='user', pw='root', db='wndb')


"""数据库结果列表转list方法"""


def dbList2Json(list):
    ret = []
    for k, v in enumerate(list):
        obj = {}
        for k1, v1 in enumerate(v):
            obj[v1] = v[v1]
        ret.append(obj)
    return ret

17.在DataBase目录下新建表查询文件我是user表新建 user.py

注:sys.path.append 必须写,是为了将项目路径加入运行环境中,防止import找不到我们自建的module

import sys
import os

# 把项目文件夹的父文件夹路径加入到PYTHONPATH,注意这里os.path.dirname嵌套的层数
# 从项目文件夹(包括)到config是多少层文件夹就要套多少层
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

# 注意会报错的这个引入必须要在sys.path.append后面写
# 引入路径必须是绝对引入即 src. 开头
from src.DataBase.config import db, dbList2Json


def getUsers():
    users = db.select('user')
    return dbList2Json(users)

18.调整__init__.py 文件

import json

import web
from DataBase import user

urls = (
    '/', 'index'
)


class index:
    def GET(self):
        users = json.dumps(user.getUsers())
        print(users)
        return response(users)


"""运行"""

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

"""定义response方法用于统一设置响应头"""


def response(data):
    web.header('Access-Control-Allow-Origin', '*')
    web.header('Content-Type', 'application/json;charset=UTF-8;')
    return data

pdm run start 执行即可

ok!一个使用pdm管理的Python+web.py项目就搭建好了,

初学python的人搞这些真的非常花时间,几个安装器不换源要么是一直转圈要么是报错,一直在找为什么错,很费时间精力,pdm 已有教程又不详细,希望这篇文章可以帮到入门小白

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值