首页
壁纸
直播
留言板
更多
视频
统计
友情链接
实用工具
Search
1
给孙小姐的一封情书
321 阅读
2
LabVIEW | 各版本及开发工具模块下载
172 阅读
3
armUbuntu系统构建
150 阅读
4
OpenWRT | 作为 旁路由/单臂路由/透明网关 设置 DDNS
150 阅读
5
armUbuntu | 开发板 移植 openssl 库
131 阅读
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
Search
标签搜索
C#
handsome
Git
动态壁纸
开源
Unity3d
Unity
csharp
魔傲手记
累计撰写
161
篇文章
累计收到
22
条评论
首页
栏目
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
I.MX6ULL
linux
Unity
Golang
Rust
OpenHD
教学计划
页面
壁纸
直播
留言板
视频
统计
友情链接
实用工具
搜索到
2
篇与
的结果
2025-04-10
Python | 系统兼容性问题小计
问题描述最近开发一个小工具,用python编写的,需要访问mysql 且flask提供web服务。刚开始用nuitka打包,后面 需要兼容 win7 以及其他一些原因,换用 pyinstaller 打包。因为要兼容win7刚开始决定用Python3.7开发打包,后实测不行经查询发现win7python3.7需要安装补丁才能支持。改为python3.6。改为3.6 之后发现 报错 SyntaxError: future feature annotations is not defined。错误信息在Python 3.6环境下运行时出现以下错误:Traceback (most recent call last): File ".\main.py", line 2, in <module> from src.server import Server File "...\src\server.py", line 9, in <module> from .database import DatabaseManager File "...\src\database.py", line 2, in <module> import mysql.connector File "...\mysql\connector\__init__.py", line 32, in <module> from .connection_cext import CMySQLConnection File "...\mysql\connector\connection_cext.py", line 40, in <module> from .abstracts import MySQLConnectionAbstract File "...\mysql\connector\abstracts.py", line 33 from __future__ import annotations ^ SyntaxError: future feature annotations is not defined原因分析mysql-connector-python版本兼容性问题当前使用mysql-connector-python 8.0.33版本该版本使用了Python 3.7+才支持的__future__.annotations特性在Python 3.6环境下无法正常运行依赖版本锁定问题requirements.txt中使用了精确版本号(==)没有考虑不同Python版本的兼容性需求解决方案1. 降级mysql-connector-python版本为了在Python 3.6环境下运行,建议使用8.0.22或更低版本:Flask==2.0.3 mysql-connector-python==8.0.22 pyinstaller==4.10 pyinstaller-hooks-contrib==2022.0 python-dotenv==0.20.02. 升级Python环境(推荐)升级到Python 3.7或更高版本更新requirements.txt为:Flask>=2.0.3,<3.0.0 mysql-connector-python>=8.0.22 pyinstaller>=4.10 pyinstaller-hooks-contrib>=2022.0 python-dotenv>=0.20.03. 使用虚拟环境创建新的虚拟环境:python -m venv venv激活虚拟环境:Windows: venv\Scripts\activateLinux/Mac: source venv/bin/activate安装依赖:pip install -r requirements.txt验证步骤检查Python版本:python --version验证依赖安装:pip list | findstr "mysql-connector-python"运行测试:python main.py注意事项如果继续使用Python 3.6:必须使用mysql-connector-python 8.0.22或更低版本其他依赖包也需要检查版本兼容性如果升级到Python 3.7+:可以使用最新版本的mysql-connector-python建议使用版本范围而不是精确版本号版本管理:在requirements.txt中明确标注Python版本要求使用虚拟环境隔离不同项目的依赖参考资源mysql-connector-python文档Python future 模块Python虚拟环境指南
2025年04月10日
7 阅读
0 评论
0 点赞
2024-10-11
Anaconda | conda创建、查看、删除虚拟环境(anaconda命令集)
一、管理conda(1)检查conda版本conda --version(2)获取版本号conda -V或conda --version(3)列出所有的环境conda env listconda list命令用于查看conda下的包,而conda env list命令可以用来查看conda创建的所有虚拟环境。(4)查看环境管理的全部命令帮助conda env -h(5)conda升级我们可以在命令行中或者anaconda prompt中执行命令进行操作。conda update conda升级condaconda update anaconda升级anaconda前要先升级condaconda update --all升级所有包(6)conda升级后释放空间在升级完成之后,我们可以使用命令来清理一些无用的包以释放一些空间:conda clean -p删除没有用的包conda clean -t删除保存下来的压缩文件(.tar)二、管理环境(1)创建环境conda create -n env-name [list of package]-n env-name是设置新建环境的名字,list of package是可选项,选择要为该环境安装的包。如果我们没有指定安装python的版本,conda会安装我们最初安装conda时所装的那个版本的python。若创建特定python版本的包环境,需键入conda create -n env-name python=3.6(2)激活环境Linux,OS X:source activate env-nameWindows:activate env-name小技巧:新的开发环境会被默认安装在你conda目录下的envs文件目录下。你可以指定一个其他的路径;(3)退出环境如果要从你当前工作环境的路径切换到系统根目录时,键入:Linux,OS X:conda source deactivateWindows:conda deactivate(4)复制一个环境通过克隆来复制一个环境。这儿将通过克隆snowfllakes来创建一个称为flowers的副本。conda create -n flowers --clone snowflakes通过conda env list来检查目前拥有的环境(5)删除一个环境如果你不想要这个名为flowers的环境,就按照如下方法移除该环境:conda env remove -n flowers(5)查看环境查看本地已有哪些虚拟环境:conda info --env或者conda env list
2024年10月11日
70 阅读
0 评论
0 点赞