本页自动汇总「Python」分类下的全部笔记(含子分类),随笔记增删实时更新。

sudo apt-get update && sudo apt-get install espeak

安装pyttsx3

pyttsx3官方参考文档

pip install pyttsx3

测试代码

import pyttsx3
def say_text(engine, words, voice):
    # 设置音色
    engine.setProperty('voice', voice)
    engine.say(words)
    engine.runAndWait()
    engine.stop()
def main():
    # 创建对象
    engine = pyttsx3.init()
    # 设置语音速率
    engine.setProperty('rate', 100)
    # 设置语音音量,音量最小为 0,最大为 1
    engine.setProperty('volume', 1.0)
    # words = input('请输入要转换的文本:')
    words = '这是一个小练习'
    say_text(engine, words, 'zh')
if __name__ == '__main__':
    main()

中文转换必须要设置音色engine.setProperty(‘voice’, ‘zh’),默认的是不支持中文的。Windows是支持的,就Ubuntu需要加这一行sb配置
在使用 ‘zh’ 音色的时候可能会提示Full dictionary is not installed for ‘zh’(​忽略即可,不影响使用****​ ),有强迫症的​可以参考这篇博客

1、Python中类的继承是直接写在类后面的括号里面的,直接写类名即可,震碎我三观

2、Python中一个标准类的定义

==记住每一个方法都要带self,通过self才能访问类内的属性和方法,不加self,找的是类外的东西==

class Demo:
    def __init__(self):
        pass
    def api01(self):
        pass
    def api02(self):
        pass
# 以上代码定义了一个名为Demo的类。 
# - __init__(self)是类的构造函数,用于初始化对象的属性。在这个例子中,构造函数没有进行任何操作。
# - api01(self)是类的一个方法,它没有任何操作。

3、一个字符串中,如果里面是双引号,那么外面就是单引号,如果里面是单引号,那么外面就是双引号

如以下代码中的 ***'//****​ [@id=“s-canvas”]’

driver.find_element(By.XPATH, '//*[@id="s-canvas"]').screenshot("c.jpg")

‍

报错内容:

ERROR: Could not build wheels for XXX, which is required to install pyproject.toml-based projects

前提:看一下具体报错信息,是不是因为缺少另一个包导致这个包构建失败,如果是的话,先把另一个包装了,再装这个包

看完前提之后,还是没找到是因为缺少另一个包导致这个包构建失败的有效信息,那么可以先去CSDN搜**Pythonxxx(版本号)安装不上xxx(软件包名)**​ ******,**​有奇效(别问我怎么知道的),因为有时候Python版本安装包时有对应的版本的,一般pip只会无脑下最新的,根本不管你适不适应!!!

!!!注意:这个是属于终极杀招,也就是你正常pip install安装一直报错(怎么都解决不了,呜呜呜┭┮﹏┭┮),才选择用这招!!!

解决办法(以pynacl包为例):

① 在python 官网下载文件包,点击PyNaCl​下载
② 本地安装

其中E:\Download\PyNaCl-1.5.0-cp36-abi3-win_amd64.whl 为本地安装包的路径

pip install E:\Download\PyNaCl-1.5.0-cp36-abi3-win_amd64.whl

其他安装包类似的报错也可以用同样的方式解决
ERROR: Could not build wheels for XXX, which is required to install pyproject.toml-based projects

Python 官网上xxx安装包的地址为:

https://pypi.org/project/xxx/#modal-close #替换成需要的包名

如果实在装不上这个包,这时候就得考虑是不是python版本的问题了,因为有时候换一个python版本,包就猛猛安装好了,我真的艹了!!!

报错内容:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xa3 in position 13: illegal multibyte sequence
解决方法:
以虚拟环境为例,进入到 .venv\Lib\site-packages\pip_internal\utils​文件夹下,编辑​encoding.py​文件,操作如下
==注意:(如果不是虚拟环境,就进入到当前Python环境\Lib\site-packages\pip_internal\utils\文件夹下,也是编辑encoding.py文件,操作都是一样的)==
鼠标滑到文档末尾,
改前

改后

其实就是去掉括号里面那一行代码即可

然后重新

pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

1、在线安装

# 如果是安装单个包
pip install [包名]
# 建议使用下面这一个命令,毕竟是万能命令,一般的包拿这个命令来装都不会有什么问题
pip install [包名] -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# 备用
pip install [包名] -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

2、离线安装

2.1 先下载好whl文件

以下是两个比较好用的whl文件源

  • 清华镜像网站
https://pypi.tuna.tsinghua.edu.cn/simple/
  • Pythonlibs网站
https://www.lfd.uci.edu/\~gohlke/pythonlibs/

2.2 进入到whl文件所在目录,cmd打开当前文件夹

pip install whl文件名.whl

注意:如果安装时报

ERROR: Failed building wheel for XXX

ERROR: xxx.whl is not a supported wheel on this platform. 类似的错误

那么一定是你下的 whl 包对不上你的 Python 版本,规定为:3.6->cp36,3.7->cp37,依次类推,去网上找资源下就行, (不要信网上的通过改文件名来装这个包,贼傻逼,因为你包版本不对Python 版本号,会出现很多奇奇怪怪的 bug,总之别这样就行)

一、准备工作

Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,超简单

打开官网 https://www.python.org/downloads/ 下载中心,根据自己的系统和版本选择合适的安装包,这里是直接下主页的3.12.2版本的,如果是需要下其他版本的,往下划,即可看到其他不同的Python版本

也可以用我网盘里面的python安装包,内含3.10、3.11、3.12版本
**链接:**​https://pan.baidu.com/s/12IKQlRmmSpQnWv1vWC7agQ?pwd=et0k
提取码:et0k
–来自百度网盘超级会员V5的分享

二、开始安装

1.双击下载好的安装包,这里我以3.12为例

2. 勾选​Add python.exe to PATH​ ,然后再点击​Customize installation​进入到下一步

3.进入Optional Features后,不用操作,直接点击Next

4.点击​Browse​进行自定义安装路径,也可以直接点击Install进行安装,点击install安装

5.点击Close ,安装完成

三、验证是否安装成功

win+r->在弹出的界面中输入cmd调出控制台界面如下所示

输入python,如出现以下提示即表示你已经安装成功啦~~

前言: 安装新版本Python

((20251130181901-i2qfoom ‘Python环境安装与配置’))​python的安装可以看我之前的文章,本文主要是讲如何实现python 版本快速切换

1.查看当前python默认版本

使用命令,可以发现当前默认运行的Python版本

python -–version

例图如下:

2.修改环境变量

==在cmd下输入python打开的python程序的版本,取决于环境变量里哪个版本的python路径更靠前。==
如下图,可以看到本机添加了3.10版本和3.12版本的路径。如果希望默认使用python3.12,可以把3.12版本的路径上移到3.10路径前面即可(就这么简单,别怀疑!!!)。

在 Ubuntu 中升级 Python 到 3.11 版本可以通过编译源代码或者使用第三方工具来完成。请注意,在升级 Python 之前,请确保备份重要数据,并谨慎操作。

以下是通过编译源代码的步骤:

  1. 安装编译所需的依赖项:
sudo apt update
sudo apt install build-essential zlib1g-dev libffi-dev libssl-dev
  1. 下载 Python 3.11 源代码:
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -xzvf Python-3.11.0.tgz
cd Python-3.11.0
  1. 配置、编译并安装:
./configure
make
sudo make install
  1. 验证安装:
python3.11 --version
  1. 修改软链接:
#先进入超管权限
sudo su
rm -rf /usr/bin/python3
rm -rf /usr/local/bin/python3
ln -s /usr/local/bin/python3.11 /usr/bin/python3
ln -s /usr/local/bin/python3.11 /usr/bin/python
  1. 最终验证:
python3 --version

这个方法pip也会刷新,不用再配pip。
以上步骤将会下载 Python 3.11 的源代码,编译并安装在你的系统中。请注意,升级 Python 可能会影响到系统的其他依赖项,因此请确保你了解可能的影响,并提前备份重要数据。
另外,也可以考虑使用第三方工具,如 pyenv 或者 Anaconda,来管理 Python 版本。这些工具可以让你在不影响系统 Python 的情况下安装和管理多个 Python 版本。

问题:

最外层的包安装有了,且可以访问到,但是还是报缺少里面的模块,下面是一个示例

ModuleNotFoundError: No module named ‘libsvm.python’

附原先的代码

解决方案

这里以anaconda为例,
找到包的路径

ps:
E:\anaconda3\envs\[conda环境名]\Lib\site-packages\[软件包名]

然后就发现不对劲

没有Python包,直接去掉Python,把导包的代码换下,换成

from libsvm.svmutil import *
from libsvm.svm import *

就可以了。


如果还是不行的话,请在百度或者CSDN直接搜(优先百度,别问我怎么知道的)

libsvm.python #示例,反正报啥就搜啥

创建环境

① 创建虚拟环境:使用python -m venv ​命令,在指定的目录下创建一个虚拟环境,该目录会包含一个Python解释器和一些支持文件。通常,可以将虚拟环境命名为 .venv ,这样可以在终端中隐藏它,并且表明它的用途。

python -m venv <directory>
#例
python -m venv .venv

② 激活虚拟环境:使用source ****​ /bin/activate命令(Linux或MacOS)或call ****​ \Scripts\activate.bat命令(Windows)来激活虚拟环境。这样,就可以在虚拟环境中使用 pip 安装或卸载所需的包了。

call <directory>\Scripts\activate.bat命令(Windows)
source <directory>/bin/activate命令(Linux或MacOS)
#例
call .venv\Scripts\activate.bat

③ 退出虚拟环境:使用deactivate命令来退出虚拟环境。这样,就可以恢复到系统级别的Python解释器和包了。

deactivate

④ 删除虚拟环境:如果不再需要某个虚拟环境,可以直接删除它所在的目录即可。

使用环境

用pip freeze > requirements.txt自动生成requirement.txt ,执行成功后,会自动生成requirement.txt文件。 (生成的路径是在当时创建虚拟环境时的项目目录下)
# 以下生成的requirements.txt中会把当前python环境的软件包(包名+版本号)全部拷贝过来
pip freeze > requirements.txt

安装requirement.txt,执行命令即可一键安装完所需要的第三方库。

pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

前提:包确实安装有,且可以访问到

**前提没问题再往下看,不然往下也没意义⚠️⚠️⚠️**

可能的原因:当前解释器安装的软件包污染了(所以为什么PyCharm会让你对每一个工程创建对应的虚拟环境)

①:用pip list 查看当前解释器已安装的所有软件包

②:找到报错的那个包的包名,使用pip 卸载它​pip uninstall [包名]​ ****(****​有时候重装那个软件包也可以解决,反正随机应变****​ )

③:看看有没有解决,如果没有解决的话,请​CSDN