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

官网下载

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

安装

  1. 双击exe

验证

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

  1. 输入: python

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

安装python pip3 安装pip环境

官网下载pip包,地址是


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

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

  1. Python setup.py install
  1. Python setup.py install
  2. running install
  3. running bdist_egg
  4. running egg_infoile_cache.py -> build\bdist.win-amd64\egg\pip\_vendor\cachecontrol\caches
  5. copying build\lib\pip\_vendor\cachecontrol\caches\redis_cache.py -> build\bdist.win-amd64\egg\pip\_vendor\cachecontrol\caches
  6. ....bulid 问价 和复制文件操作
  7. Adding pip 20.1.1 to easy-install.pth file
  8. Installing pip-script.py script to E:\Program Files\python\Scripts
  9. Installing pip.exe script to E:\Program Files\python\Scripts
  10. Installing pip3-script.py script to E:\Program Files\python\Scripts
  11. Installing pip3.exe script to E:\Program Files\python\Scripts
  12. Installing pip3.7-script.py script to E:\Program Files\python\Scripts
  13. Installing pip3.7.exe script to E:\Program Files\python\Scripts
  14. ### 生成成功
  15. Installed e:\program files\python\lib\site-packages\pip-20.1.1-py3.7.egg
  16. Processing dependencies for pip==20.1.1
  17. 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

安装 语音模块

在窗口中

输入

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

执行结果


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

py3 安装pyinstaller 生成exe

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

为什么要生成可执行文件

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

    打包工具
  1. pyinstaller

安装pyinstaller

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

  1. pip install pyinstaller
  2. 或者
  3. pip3 install pyinstaller

pyinstaller 安装过程

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

  1. pip install pyinstaller

命令行会报错:

  1. python -m pip install --upgrade pip

windows下 pip3 install pyinstaller 总是失败,

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

改用:

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

  1. https://github.com/pyinstaller/pyinstaller

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

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

  1. python setup.py build

  2. python setup.py install

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

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

即表示安装成功

检查是否安装成功

  1. 192:~ wxs$ pyinstaller -v
  2. 3.6

pyinstaller参数作用

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

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

开始打包

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

  1. python -F -i favicon.ico nhdz.py
  1. 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

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

  1. pywin32_ctypes
  2. pefile
  3. future
  4. altgraph

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

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

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

  1. pywin32-227-cp37-cp37m-win_amd64.whl

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

附上源码:

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

read.txt

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

java 调用 python


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

cd testSpeak2.py 所在目录

  1. 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. python操作ansible api示例

    #!/usr/bin/env python # -*- coding:utf-8 -*- import json import shutil from collections import named ...

  2. sequel pro无法连接mysql服务器

    1. 添加用户 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_passwd' WITH GRANT OPTION; FLU ...

  3. BAN-Bank Notes(更麻烦的背包方案)

    传送门 这题的记录方案,真是,毒瘤........ \(很明显的二进制优化多重背包\) \(重点是,如何记录方案?\) \(用一维的pre数组是不行的!!(不信你去试试,方案之间选的物品会重复)\) ...

  4. MYSQL 日月周季年分组

    首先准备几条测试数据 DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `n_id` int(11) DEFAULT NULL, `d_created ...

  5. Linux --remote (ssh and VNC)

    远程管理 与个人计算机不同,服务器一般都是运行IDC机房中,所以我们通常不会接触到服务器硬件,而是通过各种远程管理方式对服务器进行控制. 常见的远程管理工具方式: -RDP(remote deskto ...

  6. Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...

  7. nginx操作目录

    nginx配置文件/conf/nginx.conf 错误日志功能:los/error.log 访问日志功能:logs/access.log 站点服务请求功能配置:html/ 禁止访问功能配置 404页 ...

  8. 理解javascript中的连续赋值

    之前在扒源码时经常看到类似的连续赋值操作:  var a = b = 1;  在某度搜了众多前辈的博客,总算对这骚操作有点眉目. Case analysis 首先,javascript中连续赋值最典型 ...

  9. mouseover与mouseenter区别

    学习笔记. mouseover:在鼠标移入元素本身或者子元素时都会触发事件,相当于有一个冒泡过程.而且在鼠标移入子元素中时,父元素会显示离开的状态:相应的,当鼠标从子元素移入父元素,子元素也会显示离开 ...

  10. search(16)- elastic4s-内嵌文件:nested and join

    从SQL领域来的用户,对于ES的文件关系维护方式会感到很不习惯.毕竟,ES是分布式数据库只能高效处理独个扁平类型文件,无法支持关系式数据库那样的文件拼接.但是,任何数据库应用都无法避免树型文件关系,因 ...