我已记不清 我失败过多少次 ,找过多少资料 ,但是功夫不负有心人 ,还是成功了。 所有资料和需要的语音模块的资料以放置在文章末尾, 有些是引用别人的博客的部分内容, 原文是在有道云笔记,所以没有图,请见谅。

官网下载

https://www.python.org/downloads/windows/

安装

双击exe

验证

win+r 输入 cmd 打开窗口输入 python

输入: python 


C:\Users\Administrator>python
Python 3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

安装python pip3 安装pip环境

官网下载pip包,地址是


[https://pypi.python.org/pypi/pip#downloads](https://note.youdao.com/)

下载完成之后,解压到一个文件夹,用cmd进入这个解压好的文件夹,输入:

Python setup.py install
Python setup.py install
running install
running bdist_egg
running egg_infoile_cache.py -> build\bdist.win-amd64\egg\pip\_vendor\cachecontrol\caches
copying build\lib\pip\_vendor\cachecontrol\caches\redis_cache.py -> build\bdist.win-amd64\egg\pip\_vendor\cachecontrol\caches
....bulid 问价 和复制文件操作
Adding pip 20.1.1 to easy-install.pth file
Installing pip-script.py script to E:\Program Files\python\Scripts
Installing pip.exe script to E:\Program Files\python\Scripts
Installing pip3-script.py script to E:\Program Files\python\Scripts
Installing pip3.exe script to E:\Program Files\python\Scripts
Installing pip3.7-script.py script to E:\Program Files\python\Scripts
Installing pip3.7.exe script to E:\Program Files\python\Scripts ### 生成成功
Installed e:\program files\python\lib\site-packages\pip-20.1.1-py3.7.egg
Processing dependencies for pip==20.1.1
Finished processing dependencies for pip==20.1.1

可检查 pip 是否成功安装

cmd 打开窗口 输入 pip

或者输入 pip3

安装pip后,cmd输入pip显示不是内部命令的情况分为两种:

  1. 系统环境变量中没用添加你的Python所在的文件夹:例如C:\python36\Scripts;
  2. 其他软件中也有pip,系统无法识别是哪个,你可以用命令where pip查询pip

安装 语音模块

在窗口中

输入

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyttsx3

执行结果


E:\Program Files\python\dist\pip-20.1.1>pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyttsx3
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting pyttsx3
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fd/4b/4981cc11f1a288fa44fb906e07786eaa081b1b42da3f6dce38fe16af0d99/pyttsx3-2.87-py3-none-any.whl (39 kB)
Collecting comtypes; platform_system == "Windows"
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fb/b8/f8aa21774acb4535e32f6a89055876ca497ff806f9b1b1912b469284a61e/comtypes-1.1.7.zip (180 kB)
|████████████████████████████████| 180 kB 273 kB/s
Using legacy setup.py install for comtypes, since package 'wheel' is not installed.
Installing collected packages: comtypes, pyttsx3
Running setup.py install for comtypes ... done
Successfully installed comtypes-1.1.7 pyttsx3-2.87 E:\Program Files\python\dist\pip-20.1.1>pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyttsx3
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Requirement already satisfied: pyttsx3 in e:\program files\python\lib\site-packages (2.87)
Requirement already satisfied: comtypes; platform_system == "Windows" in e:\program files\python\lib\site-packages (from pyttsx3) (1.1.7) E:\Program Files\python\dist\pip-20.1.1>

py3 安装pyinstaller 生成exe

 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyttsx3

为什么要生成可执行文件

  1. 不需要安装对应的编程环境
  2. 可以将你的应用闭源
  3. 用户可以方便、快捷的直接使用

    打包工具
pyinstaller

安装pyinstaller

如果你的网络稳定,通常直接使用下面的命令安装即可:

pip install pyinstaller
或者
pip3 install pyinstaller

pyinstaller 安装过程

python3.7似乎还没有匹配的pyinstaller版本,直接使用

pip install pyinstaller

命令行会报错:

python -m pip install --upgrade pip

windows下 pip3 install pyinstaller 总是失败,

pip3 install pyinstaller
Collecting pyinstaller
Downloading PyInstaller-3.6.tar.gz (3.5 MB)
|▌ | 61 kB 10 kB/s eta 0:05:38

改用:

在github上下载pyinstaller文件,下载地址:

https://github.com/pyinstaller/pyinstaller

点击Clone or download,然后选择Download ZIP下载相应压缩包,解压得到pyinstaller文件

在cmd中进入pyinstaller-develop\PyInstaller 文件夹下,使用

python setup.py build

python setup.py install

命令安装pyinstaller库,等待安装完成,当出现

Finished processing dependencies for PyInstaller==4.0.dev0+a1f92c6a08

即表示安装成功

检查是否安装成功

192:~ wxs$ pyinstaller -v
3.6

pyinstaller参数作用

  • -F 表示生成单个可执行文件
  • -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧
  • -c –console, –nowindowed 使用控制台,无界面(默认)
  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到
  • -i 表示可执行文件的图标

其他参数,可以通过pyinstaller --help查看

开始打包

进入python需要打包的脚本所在目录,然后执行下面的命令即可:

python -F -i favicon.ico nhdz.py
https://blog.csdn.net/sxt1001/article/details/102991306?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

还有部分依赖包,经过反复尝试,发现需要如下依赖包:

pywin32_ctypes
pefile
future
altgraph

(也许还有,但是我已经安装成功了...)

上述所有第三方库的安装程序都可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/找到,例如

找了半天缺少一个组件这个需要和安装的 python 版本配合 我的python 3.7 X64

pywin32-227-cp37-cp37m-win_amd64.whl

https://pyttsx3.readthedocs.io/en/latest/engine.html

附上源码:

#! /usr/bin/env python3
# -- coding: UTF-8 --
# @Time : 2020-05-28 22:14
# @Author : wxs
# @FileName: testSpeak2.py
# @Software: IntelliJ IDEA
# @User : wxs
# @E-mial: 1371224781@qq.com import pyttsx3.drivers import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
pythoncom.CoInitialize()
abs_file =__file__ print(abs_file)
with open('D:\\pythonPprojct\\read.txt','r',encoding='utf-8') as f:
line = f.read()
#文件不大,一次性读取 engine = pyttsx3.init("sapi5")
rate = engine.getProperty('rate')
engine.setProperty('rate', rate-100)
volume = engine.getProperty('volume')
engine.setProperty('volume', volume+0.75)
# engine.iterate() must be called inside externalLoop()
engine.say(line)
engine.runAndWait()

read.txt

君不见,黄河之水天上来,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯。岑夫子,丹丘生,将进酒,杯莫停

java 调用 python


package test;
/*
键盘 * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
* │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
* │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
* │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*
* Code is far away from bug with the keyboard protecting.
*/ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; /**
* Copyright (C), 2020-2020
*
* @Author 嗜学劣人
* @Date: 2020/5/30 19:35
* @FileName: PythonSpeak
* @Description: java调用Python示例
*/
public class PythonSpeak {
public static void main(String[] args) { Process proc;
try {
proc = Runtime.getRuntime().exec("E:\\Program Files\\python\\python.exe D:\\pythonPprojct\\testSpeak2.py");
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} } }

cd testSpeak2.py 所在目录

pyinstaller -F -w testSpeak2.py

会生成exe 文件

exe 文件在 所在目录的 dist下面

以上的版本链接 都在我百度网盘中

链接:https://pan.baidu.com/s/1QK0w-I39n-h6pvctHMSFGA

提取码:14wk

复制这段内容后打开百度网盘手机App,操作更方便哦

windows文本转语音 通过java 调用python 生成exe可执行文件一条龙的更多相关文章

  1. java调用matlab生成exe文件

    一.Matlab生成Java Package 1.在MATLAB的Command Window输入deploytool命令,选择Library Compiler. 2.在弹出的窗口选择Java Pac ...

  2. Java调用Python相关问题:指定python环境、传入参数、返回结果

    本篇文章涉及到的操作均在Windows系统下进行,Java调用python在原理上不难,但是可能在实际应用中会有各种各样的需求,网上其他的资料很不全,所以又总结了这篇文章,以供参考. 一.指定pyth ...

  3. Java 调用python说明文档

    Java 调用python说明文档 通过java调用python脚本主要如下三种方式: 1.直接执行python脚本: 2.执行python.py文件: 3.使用Runtime.getRuntime( ...

  4. [Java/Python] java调用python脚本问题记录

    Java调用Python的的两种方式 1.Runtime private static String call_python(String input_argv) { String python_py ...

  5. 通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

  6. Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 本文结构: 需求背景 进击的Python Java和Pytho ...

  7. windows 下用eclipse搭建java、python开发环境

    本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...

  8. java调用python程序以及向python程序传递参数

    在做项目的时候,经常会碰到这个问题,主要程序是用java写的,有些功能使用python写的,整个项目需要把java代码和python代码进行整合,在一个项目里面运行,这就涉及到java调用python ...

  9. java调用python脚本并向python脚本传递参数

    1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...

随机推荐

  1. 从入门到精通(分布式文件系统架构)-FastDFS,FastDFS-Nginx整合,合并存储,存储缩略图,图片压缩,Java客户端

    导读 互联网环境中的文件如何存储? 不能存本地应用服务器 NFS(采用mount挂载) HDFS(适合大文件) FastDFS(强力推荐

  2. P2380狗哥采矿(状态不易设计)

    描述:https://www.luogu.com.cn/problem/P2380 首先分析一下,易知传送带一定是要么向上,要么向右.且一定摆满了整个矩阵. 所以我们设 f [ i ] [ j ]表示 ...

  3. 服务器3C直连网络好呢还是3C精品网络更好呢?

    3C直连网络:通过用自有AS号与中国电信CTcc,中国联通CUcc,中国移动CMcc企业网进行直接接驳,提供对大陆方向有更高要求的网络接入服务. 简称:国内3c直连. 3C精品专线网:在3C直连基础上 ...

  4. spring内嵌jetty容器,实现main方法启动web项目

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将 ...

  5. for do-while while区别

    分别用for  do-while while求1-100的和

  6. 第一行Kotlin系列(三)Intent 向上一页返回数据onActivityResult的使用

    1.MainActivity.kt跳转处理 声明全局的按钮对象 private lateinit var button8: Button 实例化按钮对象 button8 = findViewById( ...

  7. 设计模式之GOF23原型模式01

    原型模式prototype 原型模式: - 通过new产生一个对象需要非常繁琐的数据准备或者访问权限,则可以使用原型模式,比如如果new对象所需时间过长,可以通过克隆产生相同的副本 - Java中的克 ...

  8. [csu/coj 1619] 递归

    题意:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1619 思路:由于式子具有递归的性质,考虑递归解,中间结果会超64位int,需用大数.另外自己 ...

  9. javascript实现checkbox提交submit请求

    javascript实现checkbox提交submit请求 背景:使用django模板中for来形成多个checkbox,需要点击单个checkbox并查询数据触发submit请求到后台,djang ...

  10. 手写一个简易的多周期 MIPS CPU

    一点前言 多周期 CPU 相比单周期 CPU 以及流水线 CPU 实现来说其实写起来要麻烦那么一些,但是相对于流水线 CPU 和单周期 CPU 而言,多周期 CPU 除了能提升主频之外似乎并没有什么卵 ...