百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

语言教育项目实战之一:Ubuntu下安装Python环境

liuian 2025-06-08 22:33 6 浏览

如下项目,运行在#ubuntu#上,使用#pytho#,从最初环境开始,逐渐深入。此项目以语言学习为主要目的,实现听写、跟读、对话的服务,面向中小学生、大学生、涉外交流人员等。


计划

通过pyenv管理不同版本的python,同一版本python环境使用python自带的venv来管理。

环境

这里使用的ubuntu版本24.04,如下所示。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble

安装pyenv的依赖

sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

修改.bash_profile,添加PATH环境参数

#!/bin/bash
set -o vi


# Load pyenv automatically by appending
# the following to
# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
# and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"

# Restart your shell for the changes to take effect.

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"

执行pyenv安装3.11.4的python版本

# 列出可以安装的python版本
 pyenv install --list
 pyenv install 3.11.4

创建coquis运行环境,#Coquis# #

mkdir -p code/tts/coquis/
cd code/tts/coquis
pyenv local 3.11.4 
python --version
pip --version
# 如果pip速度慢,可指定源 -i https://mirrors.aliyun.com/pypi/simple/
# 安装 PyTorch 2.3.1 + TTS 0.22.0 (严格版本锁定)
pip install torch==2.3.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cpu
pip install TTS==0.22.0


下载模型,并测试#tts#coquis开源而且强大,是不错的选择

gauss@power-edge-r730:~/code/tts/coquis$ tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 --text "hello ,你好!" --out_path hello.wav
 > You must confirm the following:
 | > "I have purchased a commercial license from Coqui: licensing@coqui.ai"
 | > "Otherwise, I agree to the terms of the non-commercial CPML: https://coqui.ai/cpml" - [y/n]
 | | > y
 > Downloading model to /home/gauss/.local/share/tts/tts_models--multilingual--multi-dataset--xtts_v2

如果速度很慢,可到镜像站下载后,将文件拷贝到上述目录。可只下载必需的文件,可从源码看到文件列表。


 wget https://hf-mirror.com/coqui/XTTS-v2/resolve/main/model.pth?download=true


问题:

  1. tranformers 版本升级造成的冲突
  1. 完整的pip list
$ pip list
Package                 Version
----------------------- -----------
absl-py                 2.2.2
aiohappyeyeballs        2.6.1
aiohttp                 3.11.18
aiosignal               1.3.2
annotated-types         0.7.0
anyascii                0.3.2
attrs                   25.3.0
audioread               3.0.1
babel                   2.17.0
bangla                  0.0.5
blinker                 1.9.0
blis                    1.2.1
bnnumerizer             0.0.2
bnunicodenormalizer     0.1.7
catalogue               2.0.10
certifi                 2025.4.26
cffi                    1.17.1
charset-normalizer      3.4.2
click                   8.1.8
cloudpathlib            0.21.1
confection              0.1.5
contourpy               1.3.2
coqpit                  0.0.17
cycler                  0.12.1
cymem                   2.0.11
Cython                  3.1.1
dateparser              1.1.8
decorator               5.2.1
docopt                  0.6.2
einops                  0.8.1
encodec                 0.1.1
filelock                3.13.1
Flask                   3.1.1
fonttools               4.58.0
frozenlist              1.6.0
fsspec                  2024.6.1
g2pkk                   0.1.2
grpcio                  1.71.0
gruut                   2.2.3
gruut-ipa               0.13.0
gruut_lang_de           2.0.1
gruut_lang_en           2.0.1
gruut_lang_es           2.0.1
gruut_lang_fr           2.0.2
hangul-romanize         0.1.0
huggingface-hub         0.31.4
idna                    3.10
inflect                 7.5.0
itsdangerous            2.2.0
jamo                    0.4.1
jieba                   0.42.1
Jinja2                  3.1.4
joblib                  1.5.0
jsonlines               1.2.0
kiwisolver              1.4.8
langcodes               3.5.0
language_data           1.3.0
lazy_loader             0.4
librosa                 0.11.0
llvmlite                0.44.0
marisa-trie             1.2.1
Markdown                3.8
markdown-it-py          3.0.0
MarkupSafe              2.1.5
matplotlib              3.10.3
mdurl                   0.1.2
more-itertools          10.7.0
mpmath                  1.3.0
msgpack                 1.1.0
multidict               6.4.4
murmurhash              1.0.12
networkx                2.8.8
nltk                    3.9.1
num2words               0.5.14
numba                   0.61.2
numpy                   1.26.4
packaging               25.0
pandas                  1.5.3
pillow                  11.2.1
pip                     25.1.1
platformdirs            4.3.8
pooch                   1.8.2
preshed                 3.0.9
propcache               0.3.1
protobuf                6.31.0
psutil                  7.0.0
pycparser               2.22
pydantic                2.11.4
pydantic_core           2.33.2
Pygments                2.19.1
pynndescent             0.5.13
pyparsing               3.2.3
pypinyin                0.54.0
pysbd                   0.3.4
python-crfsuite         0.9.11
python-dateutil         2.9.0.post0
pytz                    2025.2
PyYAML                  6.0.2
regex                   2024.11.6
requests                2.32.3
rich                    14.0.0
safetensors             0.5.3
scikit-learn            1.6.1
scipy                   1.15.3
setuptools              65.5.0
shellingham             1.5.4
six                     1.17.0
smart-open              7.1.0
soundfile               0.13.1
soxr                    0.5.0.post1
spacy                   3.8.6
spacy-legacy            3.0.12
spacy-loggers           1.0.5
srsly                   2.5.1
SudachiDict-core        20250515
SudachiPy               0.6.10
sympy                   1.13.3
tensorboard             2.19.0
tensorboard-data-server 0.7.2
thinc                   8.3.4
threadpoolctl           3.6.0
tokenizers              0.21.1
torch                   2.7.0+cpu
torchaudio              2.7.0+cpu
tqdm                    4.67.1
trainer                 0.0.36
transformers            4.49.0
TTS                     0.22.0
typeguard               4.4.2
typer                   0.15.4
typing_extensions       4.12.2
typing-inspection       0.4.1
tzlocal                 5.3.1
umap-learn              0.5.7
Unidecode               1.4.0
urllib3                 2.4.0
wasabi                  1.1.3
weasel                  0.4.1
Werkzeug                3.1.3
wrapt                   1.17.2
yarl                    1.20.0

相关推荐

linux -- sed命令(linux sed命令详解)

1.sed调用方式sed[options]‘command’file(s)sed[options]-fscriptfilefile(s)第一种直接在命令行中执行,第二种把命令写到了脚本...

AutoCAD的常用快捷命令汇总(autocad常用快捷键命令大全)

AutoCAD常用快捷命令分类汇总,涵盖绘图、修改、标注、视图控制等高频操作,适用于大部分版本(如AutoCAD2023/2020/2016)。按功能分类整理,建议收藏保存,便于快速查阅:一、绘...

Linux Shell文件处理(linux shell 技巧)

预计更新1:基础知识简介和安装基本命令变量和环境变量2:流程控制条件语句循环语句函数3:文件处理文件读写文件权限和所有权文件搜索和替换4:网络和进程网络通信进程管理信号处理5:文本处理正则表...

bash通配符(通配符的匹配很全面)

Bash中常用的通配符和正则表达式,以及正则表达式的应用场景。**通配符(Globbing)**通配符主要用于文件名扩展,由Shell解释执行,用于查找符合特定模式的文件名。***`*`...

用DataX实现两个MySQL实例间的数据同步

DataXDataX使用Java实现。如果可以实现数据库实例之间准实时的#数据同步#,可以解决很多问题。例如数据可靠性和高并发的问题。OracleGoldenGate是Oracle提供的一个商业...

Linux gron 命令使用详解(linux中gun命令的含义)

简介gron是一个独特的命令行工具,用于将JSON数据转换为离散的、易于grep处理的赋值语句格式。它的名字来源于"grepableon"或"grepable...

[Linux Shell]脚本修改包含空格的文件名

脚本如下:#!/bin/bashforFILEin*doSP=`echo$FILE|sed's//_/g'`if["$SP"!="$FILE"];thenecho"...

Shell脚本怎么写?Linux命令三剑客之sed命令

大家好呀,今天周五,总算下了个早班,我们今天的主题还是跟Linux的Shell脚本相关,截至这篇文章,我们已经给大家介绍了Shell这种编程语言的基本语法,变量,流程控制,函数,模块和一些特殊系统变量...

Linux怎样在文件特定的位置添加一行文本

HELLO大家好,欢迎来的我的频道,如果这篇文章能帮到你,请把我点赞,收藏,谢谢!如果您想通过脚本在文件中特定的一行中添加文本。下面的例子将帮助你做到这一点。例如,您有一个名为file1.txt的文...

tomcat修改默认端口号(tomcat在哪修改端口)

关注我,不迷路,大家好,我是大王。--记录运维中遇到的故障及排查方法一、背景说明tomcat默认的端口号是8080,但是对于生产环境来说,为了安全性能,一般不建议用默认端口,这时候就需要我们修改端口号...

ubuntu7:进入维护模式修改文件(ubuntu系统修复命令)

ubuntu系统提供了维护模式,以便于在系统启动异常或者因修改、删除文件导致系统起不来的情况时,通过维护模式来修改文件等操作。如果ubuntu系统已经不能挂载文件系统,比如修改了/etc/fstab错...

linux sed命令详解(linux sed c)

//删除文件第二行d命令#sed'2d'text.txt//打印从第五行开始到第一个包含以w1开始的行之间的所有行p命令#sed-n'5,/^w1/p'#所...

Linux下sed的简单使用(linux sed命令详解)

1、sed简介stremeditor流编辑器,它是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大,sed编辑器是一行一...

Linux基础命令-sed命令(linux三剑客之sed命令)

Sed全名streameditor流编辑器,它是一个强大的文本处理工具,它可以从文件中接受输入,也可以接受来自标准输入流的输入,它擅长取行。Sed的用途非常广泛,包括:1)文本替换2)选择性的输...

Linux sed命令介绍(linux中的sed)

简介sed命令应用广泛,使用简单,是文本流编辑器的利器,逐行对文件的内容进行处理处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),可以指定仅仅处理哪些行。s...