`
phyeas
  • 浏览: 164210 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

SQLAlchemy与Python3.0

阅读更多

今天开始学习SQLAlchemy,我用的是python3,所以,首先得让他能在python3上运行。看了下官方网站的介绍,SQLAlchemy准备从0.6版开始支持python3(http://www.sqlalchemy.org/download.html),但现在的0.6还在开发阶段,能正式下载到的只有0.5.3,要下0.6需要通过svn。

SVN地址:http://svn.sqlalchemy.org/sqlalchemy/branches/rel_0_6

其实里面的代码还是python2.x的代码,但SQLAlchemy的包中提供了转换工具(相信正式出来的时候应该不需要转换了)。下载完后执行转换命令:python sa2to3.py -w SQLAlchemy存放目录/lib/SQLAlchemy

必须加-w参数,否则是不会执行转换的,只是输出需要转换的代码

执行完成后执行:python setup.py install进行安装,如果安装不成功请确认转换是否已完成。

这就OK了,测试:

>>> import sqlalchemy

>>> sqlalchemy.__version__

如果输出0.5.3就说明成功了(版本号还没改成0.6)

有一个地方需要注意以下的是:在使用metadata.drop_all(engine)时会报异常,主要是SQLAlchemy在engine/base.py中写了这么一行代码:colname = colname.decode(self.dialect.description_encoding),其中colname是str类型的,在python3中str类型已经去掉了decode方法,改成:colname = colname.encode("ISO-8859-1").decode(self.dialect.description_encoding)即可。其他地方还有没有我还不知道,不过但凡说找不到encode方法的都这么改就可以了。其原理是先将str转换为ISO-8859-1编码的bytes,再转换为指定编码的字符串,当然,这是很卑劣的手段,如果原始编码不是ISO-8859-1会报错,期待0.6版本中能改进这个错误,到这一步,基本上SQLAlchemy就能在python3中使用了,还有其他什么问题欢迎一起探讨,共同进步。

粗略地看了一下SQLAlchemy的文档,感觉很好很强大。该封装的都封装了。

 

可以下载我的测试代码去试试。

分享到:
评论
2 楼 bohemia 2009-07-10  
0.5.3就说明成功了(版本号还没改成0.6)

Python的ORM,WEB框架快快成熟啊. 每天看到0.**的版本号,都有一丝寒意.
1 楼 phyeas 2009-07-09  
在最新的sqlalchemy0.6版本中已经将版本号改为0.6 beta1
sqlalchemy.__version__将返回:'0.6beta1'

相关推荐

    Python库 | tiddlywebplugins.sqlalchemy3-3.0.12.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:tiddlywebplugins.sqlalchemy3-3.0.12.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | arrogant-3.0.tar.gz

    "arrogant-3.0.tar.gz"是一个Python库的压缩包,名为"arrogant-3.0",它可能是某个特定功能或模块的集合。 首先,让我们了解一下Python库的基本概念。Python库是一组预编写好的代码,可以被其他Python程序导入并...

    Python库 | huaweicloudsdkcdm-3.0.64-py2.py3-none-any.whl

    总之,`huaweicloudsdkcdm-3.0.64-py2.py3-none-any.whl`为Python开发者提供了与华为云CDM服务无缝集成的能力,使得数据迁移任务变得更加高效和灵活。无论是小型项目还是大型企业级应用,都能从中受益。

    OpenCenter后台管理框架 v3.0.zip

    3. **数据库交互**:框架可能集成了ORM(Object-Relational Mapping)工具,如Hibernate(Java)、SQLAlchemy(Python)或Entity Framework(.NET),用于简化数据库操作,实现数据层与业务层的解耦。 4. **权限管理*...

    Python库 | financeager_flask-0.3.3.0-py3-none-any.whl

    "Python库 | financeager_flask-0.3.3.0-py3-none-any.whl" 是一个专门针对金融领域的Flask应用扩展,版本号为0.3.3.0,适用于Python 3.x环境。Flask是一个轻量级的Web服务程序,它基于Werkzeug WSGI工具包和Jinja2...

    python参考手册(第4版)中文版

    《Python参考手册(第4版)中文版》是学习Python编程语言的重要参考资料,它详尽地阐述了Python 3.0及其后续版本的核心语法和特性。这本书为初学者和有经验的开发者提供了全面且深入的理解,帮助他们充分利用Python...

    本科毕业设计,基于python flask框架开发的个人博客系统项目,前后端分离,mysql数据库

    Flask-Bootstrap==3.0.3.1 Flask-HTTPAuth==3.2.1 Flask-Login==0.3.1 Flask-Mail==0.9.0 Flask-Migrate==1.1.0 Flask-Moment==0.2.1 Flask-Script==0.6.6 Flask-SQLAlchemy==1.0 Flask-WTF==0.9.4 ForgeryPy==0.1 ...

    OpenAlchemy:使用OpenAPI规范定义SQLAlchemy模型

    将OpenAPI架构转换为SQLAlchemy模型。 支持OpenAPI 3.0和3.1。 在线编辑器入门,它将指导您使用现有的OpenAPI规范定义数据库架构,并提供使用pip安装模型的方法: 安装 python -m pip install OpenAlchemy # To ...

    PyPI 官网下载 | kwonly_args-1.0.10-py2.py3-none-any.whl

    Python库的广泛使用,包括Django、Flask等Web框架,以及SQLAlchemy这样的ORM工具,极大地丰富了Python在后端开发中的应用场景。 **安装与使用 kwonly_args** 要在Python环境中安装"kwonly_args"库,用户通常会使用...

    python入门实践教程(含部署)

    对于数据仓库和数仓建模的学习者,Python的pandas库是数据清洗和预处理的重要工具,SQLAlchemy则提供了操作数据库的高级接口,而Apache Airflow或Luigi这样的库则用于构建和调度复杂的ETL(提取、转换、加载)流程。...

    学习使用(vue3.0 + flask + mysql).zip

    - **SQLAlchemy集成**:Flask可以通过SQLAlchemy库与数据库交互,提供ORM(对象关系映射)功能。 3. MySQL: - **数据库设计**:理解ER(实体关系)模型,创建表结构,定义主键、外键等约束。 - **SQL查询语言**...

    Python

    - **Python 3.x**:自Python 3.0发布以来,不断推出新版本,如3.9和3.10,引入更多优化和新特性。 - **asyncio**:异步I/O库,用于编写并发代码,提升性能。 - **Type Hinting**:类型注解,增强了代码的可读性...

    flask+vue3.0+mysql+tensorflow实现设备剩余寿命预测系统(本项目侧重于系统,不侧重算法).zip

    Flask是一款轻量级的Python Web框架,以其简洁、灵活的特性广受欢迎。在本项目中,Flask作为后端服务器,负责处理HTTP请求,提供RESTful API接口,与前端Vue.js应用进行数据交互。Flask支持数据库连接,可以方便地与...

    flask-3.0.3.tar.gz

    同时,Flask 3.0.3还引入了对Python 3.9的支持,确保了与最新Python版本的兼容性。 在扩展性方面,Flask 3.0.3支持大量第三方插件,如SQLAlchemy用于数据库操作,Flask-SocketIO实现WebSocket通信,Flask-Mail处理...

    ipmon:IP地址监视警报

    需要安装Python 3.0+,您可以在找到安装程序 2)安装Python要求 在此仓库的主目录中,运行以下命令: pip install -r requirements.txt 3)配置 请按照以下说明运行Web服务器,并在服务器运行后导航至该服务器。 ...

    ToDooo:使用 React 和 Bootstrap 等现代技术构建的轻量级、快速的待办事项应用程序,并带有 Python 中的 API

    要运行 To-Dooo,您需要 Pyhton 3.0 或更高版本(最好是 3.4 或最新版本)。 安装 您需要先安装所需的扩展: pip install flask-cors pip install flask-sqlalchemy pip install flask-httpauth 设置好扩展后,...

    flask开发文档

    Flask 是一个轻量级的Python Web框架,它以其灵活性、简单性和易用性而受到开发者们的广泛欢迎。这个离线HTML文档提供了全面的Flask学习资源,无论你是初学者还是有经验的开发者,都能从中找到所需的信息。文档通常...

    awesomenbadata-api:OpenAPI Flask应用程序,可将数据提供给measuredstudios.com

    是一个ORM / ODM /与框架无关的库,用于将复杂的数据类型(例如对象)与本机Python数据类型之间进行转换。 是Flask和棉花糖的薄集成层,为棉花糖增加了其他功能。 是Python SQL工具箱和对象关系映射器,它为应用...

    KingbaseESV8R6产品手册-开发者指南.pdf

    4. 数据库访问:客户端编程接口支持C/C++语言以及ODBC3.0标准,确保与标准数据库访问技术的兼容性和易用性。 5. 应用开发框架支持:KingbaseESV8R6支持多种Java应用开发框架如Hibernate、Mybatis、Mybatis-Plus,...

Global site tag (gtag.js) - Google Analytics