nozuonodie.jpg

0x01 起因

朋友随手甩了一个URL给我,一看,哟嚯,这不得了啊。然后边研究了起来,看到有Github的小标记,就想着自己也搭建一把。

至于为什么起这个标题? 相信你看了这是一个什么样的项目就会明白

  • 项目的原因,保不准就没有后续了
  • 因为Github放出来的只有后端API的部分,没有前端web,我一个渣渣想要完整的复现,可能并不是那么容易,还会继续踩坑,如果接下来搞定了,可能会有第二篇

    • PS:后来研究了下,发现是用的 React + Flask ,前端一点也不熟,通过简单的扒皮替换,http下勉强能跑起来,https跑不起来 = =、欢迎大佬私下py交流

Demo URL: https://dnmkrgi.github.io/xi-speech-demo/ (项目作者提供,与我无瓜,狗头保命)

Github : https://github.com/dnmkrgi/xi-speech-synthesizer

0x02 踩坑小记

先说一下我的系统环境

  • ubuntu 16.04
  • 已安装python版本

    • python2.7 python3.5 python3.6

      • python => python2.7
      • python3 => python3.6

按照项目的ReadMe,咱一步步来

  1. 创建并进入虚拟环境
  2. 安装 requirements.txt 依赖
    $ pip3 install -r requirements.txt
  3. 安装 ffmpeg (用于编码 mp3 文件)
    apt-get install ffmpeg libavcodec-extra
  4. 运行 Flask APP
    $ set FLASK_APP=api.py
    $ flask run

1号坑:

python 虚拟环境

python3 -m venv tutorial-env

会抛出如下错误

The virtual environment was not created successfully because ensure pip is not available.  On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
      apt-get installpython3-venv  
 You may need to use sudo with that command.  After installing the python3-venv package, recreate your virtual environment. 

但是即使执行了

apt-get installpython3-venv 

也是于事无补。

根据大佬们排过的雷,改用virtualenv命令即可

sudo apt-get install python-virtualenv
$ virtualenv --python=python3.6 myvenv

传送门 :

https://ubuntuqa.com/article/8787.html

2号坑:

set FLASK_APP=api.py
flask run

之后报错

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.

根据网上的方法

$env:FLASK_APP = "api.py"

我这会出现另外的坑。。。

ModuleNotFoundError: No module named 'gdbm'

gdbm的这个坑很是头疼,欢迎大佬告知下如何解决

最终解决方法:

export FLASK_APP=api.py
flask run

至此,项目就可以跑起来了。

0x03 后记

为什么没有图?

No Zuo No Die Why you try ?

nozuonodie-2.jpg

标签:python, flask, python-virtualenv, ubuntu

已有 3 条评论

  1. dnmkrgi dnmkrgi

    博主注意安全啊,我直接搜Google,第一页就是你的博客,还是墙内的,小心王晶顺藤摸瓜

    1. 请问你搜索的关键词是啥?

      1. d d

        我直接搜dnmkrgi.github.io搜到这里来的。其实我github insights里也能看到

添加新评论