语言教育项目实战之一: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
问题:
- tranformers 版本升级造成的冲突
- 完整的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...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)