ubuntu16.04 Python2和Python3同时存在安装flask框架

问题背景:在ubuntu16.04上进行安装flask框架的时候,在激活virtualenv的时候,系统报错ImportError:No module named zlib,如下图所示:

于是在网上看了很多资料,也进行了zlib的安装,但是在python2下仍然报错,而在python3中已经正常安装。网上的资料多数都是给出命令进行操作就可以,但是在不同的计算机环境下,命令执行不一定成功,还是需要看一下技术文档。

http://doc.biblissima-condorcet.fr/loris-setup-guide-ubuntu-debian

https://stackoverflow.com/documentation/flask/790/getting-started-with-flask#t=201709030720012973082

http://docs.jinkan.org/docs/flask/installation.html

virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。virtualenv功能很强大,在Ubuntu下安装此应用

$ sudo apt-get install python-virtualenv


virtualenv安装完毕后,你可以立即打开shell 然后创建你自己的环境。我通常创建一个项目文件夹,并在其下创建一个venv 文件夹

#python2使用此命令

$ mkdir myproject
$ cd myproject
$ virtualenv venv 
New python executable in venv/bin/python
Installing distribute............done.
现在,无论何时你想在某个项目上工作,只需要激活相应的环境。在 OS X Linux 上,执行如下操作:

$ . venv/bin/activate

无论通过哪种方式,你现在应该已经激活了virtualenv(注意你的shell 提示符显示的是当前活动的环境)。

现在你只需要键入以下的命令来激活virtualenv 中的Flask:

$ pip install Flask

#python3使用以下命令

mkdir myproject && cd myproject
python3 -m venv env
# or `virtualenv env` for Python 2
source env/bin/activate
pip install flask

在my_project文件夹中创建一个python文件hello.py内容如下
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "hello world"
    
if __name__ == "__main__":
    app.run()

然后运行hello.py

python hello.py

在浏览器中输入

127.0.0.1:5000

就可以看到hello world了


因为python2和python3同时存在的时候,只要其中一个版本中安装了zlib,就可以使用含有zlib版本的python,进行virtualenv安装,进一步安装flask。

我在搭建flask的时候,一直在纠结ImportError:No module named zlib,一直想要解决这个问题,但是就是在python2上安装不上zlib,多次编译python2也不起作用,最后就是用含有zlib包的python3进行flask配置,最后成功了。可以看到达到目的的途経不止一个,有一些error,可以不用一直纠结,可以忽略,所以遇到问题的时候千万不要钻牛角尖,换一种思路,会达到预想不到的结果。





你可能感兴趣的:(python,web)