当前位置: 首页 > news >正文

(10)python开发经验

文章目录

      • 1 cp35 cp36什么意思
      • 2 找不到pip
      • 3 subprocess编码错误
      • 4 导出依赖文件包含路径
      • 5 使用自己编译的python并且pyinstall打包程序


更多精彩内容
👉内容导航 👈
👉Qt开发 👈
👉python开发 👈

1 cp35 cp36什么意思

在Python的文件名或包名中,cp35cp36 通常指的是编译器版本,具体来说,它们代表的是CPython的版本号。CPython是Python的标准实现,使用C语言编写。因此,cp35 表示该文件或包是为CPython 3.5版本编译的,而 cp36 表示是为CPython 3.6版本编译的。

这些标识常用于预编译的Python扩展模块,以明确该模块适用于哪个Python版本。

2 找不到pip

错误信息:moduleNotFoundError: no module named pip

错误原因:执行pip install --upgrade pip命令后错误。

解决办法:执行python -m ensurepip

3 subprocess编码错误

这个错误通常是由于在使用 subprocess 模块执行命令时,输出的内容编码与系统默认的编码(在Windows上通常是GBK)不匹配引起的。

UnicodeDecodeError 表明尝试用GBK编码解码一段实际上不是GBK编码的字节序列。

Traceback (most recent call last):File "D:\Python\Python313\Lib\threading.py", line 1041, in _bootstrap_innerself.run()~~~~~~~~^^File "D:\Python\Python313\Lib\threading.py", line 992, in runself._target(*self._args, **self._kwargs)~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "D:\Python\Python313\Lib\subprocess.py", line 1611, in _readerthreadbuffer.append(fh.read())~~~~~~~^^
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 42: illegal multibyte sequence

解决办法:

指定正确的编码:如果你知道命令输出的编码格式,可以在解码时指定正确的编码。例如,如果输出是UTF-8编码的,你可以这样处理:

import subprocessresult = subprocess.run(['your_command'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, encoding='utf-8')
print(result.stdout)

4 导出依赖文件包含路径

  • 使用pip freeze > requirements.txt导出依赖时,如果是直接安装的whl包,就会包含路径;

    在这里插入图片描述

  • 解决办法:将路径改为版本号;

    在这里插入图片描述

  • 使用pip list --format=freeze > requirements.txt导出就可以;

5 使用自己编译的python并且pyinstall打包程序

使用自己编译的python程序开发pyqt时,使用pyinstall打包失败

解决办法:编译的时候加上--enable-shared



相关文章:

  • 访问共享打印机提示错误0x00000709多种解决方法(支持win10和win11)
  • 【MySQL】库与表的操作
  • Win 11开始菜单图标变成白色怎么办?
  • ubuntu工控机固定设备usb串口号
  • 给easyui的textbox绑定回车事件
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 13.几何着色器(一)修改顶点
  • React Flow 边事件处理实战:鼠标事件、键盘操作及连接规则设置(附完整代码)
  • 学习黑客HTTP(HyperText Transfer Protoco)
  • 从代码学习深度学习 - 近似训练 PyTorch版
  • [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程-下
  • 【AWS】从 0 基础直觉性地理解 IAM(Identity and Access Management)
  • CudaMemCpy returns cudaErrorInvalidValue
  • 《Vite 报错》ReferenceError: module is not defined in ES module scope
  • 学习黑客Active Directory入门
  • 重读《人件》Peopleware -(10-2)Ⅱ 办公环境 Ⅲ 节省办公空间的费用(下)
  • 多头自注意力机制—Transformer模型的并行特征捕获引擎
  • 打卡Day29
  • Vue百日学习计划Day24-28天详细计划-Gemini版
  • C++中的容器
  • Spring Boot JWT认证示例项目
  • 习近平:坚持科学决策民主决策依法决策,高质量完成“十五五”规划编制工作
  • 人民日报评论员:党政机关要带头过紧日子
  • “走进书适圈”:一周城市生活
  • 体坛联播|巴萨提前2轮西甲夺冠,郑钦文不敌高芙止步4强
  • 哈马斯官员:若实现永久停火,可交出加沙地带控制权
  • 国防部:赖清德歪曲二战历史,背叛民族令人不齿