Mac Python2.7 安装Flask

Mac Python2.7 安装Flask

【环境说明】
Mac OS 版本:10.13.2
Python 版本:
localhost:~ shixiongwei$ python -V
Python 2.7.13 :: Anaconda 4.4.0 (x86_64)

Python IDE PyCharm
Mac Python2.7 安装Flask_第1张图片
Flask官网
http://flask.pocoo.org

中文版本
http://dormousehole.readthedocs.io/en/latest/

说明:Python Web开发,参考的教程:Flask Web开发 –基于PythonWeb应用开发实战 (人民邮电出版社)
按照书中第一章,环境配置流程如下
1、使用虚拟环境 (P4)
1-1、查看Python版本

localhost:~ shixiongwei$ python -V
Python 2.7.13 :: Anaconda 4.4.0 (x86_64)

1-2、查看virtualenv版本

localhost:~ shixiongwei$ virtualenv --version
-bash: virtualenv: command not found

1-3、使用easy_install 安装virtualenv

localhost:~ shixiongwei$ sudo easy_install virtualenv

执行安装指令后,显示信息:

localhost:~ shixiongwei$ sudo easy_install virtualenv
Password:(输入root 密码)
Searching for virtualenv
Reading https://pypi.python.org/simple/virtualenv/
Downloading https://pypi.python.org/packages/d4/0c/9840c08189e030873387a73b90ada981885010dd9aea134d6de30cd24cb8/virtualenv-15.1.0.tar.gz#md5=44e19f4134906fe2d75124427dc9b716
Best match: virtualenv 15.1.0
Processing virtualenv-15.1.0.tar.gz
Writing /tmp/easy_install-y8e0S9/virtualenv-15.1.0/setup.cfg
Running virtualenv-15.1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-y8e0S9/virtualenv-15.1.0/egg-dist-tmp-1snzTH
warning: no previously-included files matching '*' found under directory 'docs/_templates'
warning: no previously-included files matching '*' found under directory 'docs/_build'
creating /anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg
Extracting virtualenv-15.1.0-py2.7.egg to /anaconda/lib/python2.7/site-packages
Adding virtualenv 15.1.0 to easy-install.pth file
Installing virtualenv script to /anaconda/bin

Installed /anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg
Processing dependencies for virtualenv
Finished processing dependencies for virtualenv

1-4、创建Python虚拟环境
指令:$ virtualenv venv

这里,我在Pycharm IDE工程目录下,创建了一个文件夹myProjectPy/flasky

pwd 指令查看 /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/

1)使用了指令安装虚拟环境,命名为venv
第一次安装,报错如下:

localhost:flasky shixiongwei$ virtualenv venv

New python executable in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/bin/python
Installing setuptools, pip, wheel...
  Complete output from command /Users/shixiongwei/P...asky/venv/bin/python - setuptools pip wheel:
  Traceback (most recent call last):
  File "", line 4, in 
  File "/anaconda/lib/python2.7/tempfile.py", line 32, in 
    import io as _io
  File "/anaconda/lib/python2.7/io.py", line 51, in 
    import _io
ImportError: dlopen(/Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so
----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/anaconda/bin/virtualenv", line 11, in 
    load_entry_point('virtualenv==15.1.0', 'console_scripts', 'virtualenv')()
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 945, in create_environment
    download=download,
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 797, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/shixiongwei/P...asky/venv/bin/python - setuptools pip wheel failed with error code 1

2)网上搜索了相关资料,参考指令:$ virtualenv venv –no-setuptools继续进行尝试
指令如下,安装信息如下:


localhost:flasky shixiongwei$ virtualenv venv --no-setuptools
New python executable in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/bin/python
Installing pip, wheel...
  Complete output from command /Users/shixiongwei/P...asky/venv/bin/python - pip wheel:
  Traceback (most recent call last):
  File "", line 4, in 
  File "/anaconda/lib/python2.7/tempfile.py", line 32, in 
    import io as _io
  File "/anaconda/lib/python2.7/io.py", line 51, in 
    import _io
ImportError: dlopen(/Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/lib/python2.7/lib-dynload/_io.so
----------------------------------------
...Installing pip, wheel...done.
Traceback (most recent call last):
  File "/anaconda/bin/virtualenv", line 11, in 
    load_entry_point('virtualenv==15.1.0', 'console_scripts', 'virtualenv')()
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 945, in create_environment
    download=download,
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 797, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/shixiongwei/P...asky/venv/bin/python - pip wheel failed with error code 1
localhost:flasky shixiongwei$ virtualenv sxvenv --no-setuptools
New python executable in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/sxvenv/bin/python
Installing pip, wheel...
  Complete output from command /Users/shixiongwei/P...ky/sxvenv/bin/python - pip wheel:
  Traceback (most recent call last):
  File "", line 4, in 
  File "/anaconda/lib/python2.7/tempfile.py", line 32, in 
    import io as _io
  File "/anaconda/lib/python2.7/io.py", line 51, in 
    import _io
ImportError: dlopen(/Users/shixiongwei/PycharmProjects/myProjectPy/flasky/sxvenv/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/sxvenv/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/sxvenv/lib/python2.7/lib-dynload/_io.so
----------------------------------------
...Installing pip, wheel...done.
Traceback (most recent call last):
  File "/anaconda/bin/virtualenv", line 11, in 
    load_entry_point('virtualenv==15.1.0', 'console_scripts', 'virtualenv')()
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 945, in create_environment
    download=download,
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/anaconda/lib/python2.7/site-packages/virtualenv-15.1.0-py2.7.egg/virtualenv.py", line 797, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/shixiongwei/P...ky/sxvenv/bin/python - pip wheel failed with error code 1

3)第三次尝试,成功解决问题。
解决方法:
(1)先执行 conda install python=2.7.9 降级版本
(2)再执行 virtualenv venv
OK,大功告成!!

相关指令,如下

localhost:flasky shixiongwei$ conda install python=2.7.9
Fetching package metadata .........
Solving package specifications: .

Package plan for installation in environment /anaconda:

The following NEW packages will be INSTALLED:

    krb5:         1.13.2-0         
    pyasn1:       0.1.7-py27_0     

The following packages will be UPDATED:

    anaconda:     4.4.0-np112py27_0 --> custom-py27_0  

The following packages will be DOWNGRADED:

    conda:        4.3.21-py27_0     --> 4.2.13-py27_0  
    cryptography: 1.8.1-py27_0      --> 0.8.2-py27_1   
    curl:         7.52.1-0          --> 7.43.0-1       
    openssl:      1.0.2l-0          --> 1.0.1k-1       
    pycurl:       7.43.0-py27_2     --> 7.19.5.1-py27_2
    pyopenssl:    17.0.0-py27_0     --> 0.15.1-py27_2  
    python:       2.7.13-0          --> 2.7.9-1        

Proceed ([y]/n)? y

krb5-1.13.2-0. 100% |################################| Time: 0:00:06 199.86 kB/s
openssl-1.0.1k 100% |################################| Time: 0:00:22 114.33 kB/s
curl-7.43.0-1. 100% |################################| Time: 0:00:08  48.65 kB/s
python-2.7.9-1 100% |################################| Time: 0:02:02 106.30 kB/s
anaconda-custo 100% |################################| Time: 0:00:00   2.64 MB/s
pyasn1-0.1.7-p 100% |################################| Time: 0:00:00 163.44 kB/s
pycurl-7.19.5. 100% |################################| Time: 0:00:00 175.90 kB/s
conda-4.2.13-p 100% |################################| Time: 0:00:01 192.07 kB/s
cryptography-0 100% |################################| Time: 0:00:01 233.21 kB/s
pyopenssl-0.15 100% |################################| Time: 0:00:00 250.42 kB/s
localhost:flasky shixiongwei$ 

localhost:flasky shixiongwei$ virtualenv venv
New python executable in /Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/bin/python
Installing setuptools, pip, wheel...done.

安装好虚拟环境之后,查看venv目录下的内容

localhost:bin shixiongwei$ pwd
/Users/shixiongwei/PycharmProjects/myProjectPy/flasky/venv/bin
localhost:bin shixiongwei$ ls
activate        easy_install-2.7    python-config
activate.csh        pip         python2
activate.fish       pip2            python2.7
activate_this.py    pip2.7          wheel
easy_install        python

参考资料链接1
参考资料链接2

虚拟环境安装好之后,现在开始在venv环境中,开始安装flask

1-5、激活虚拟环境
指令:$source venv/bin/activate
前提:上面处于目录为: flasky目录下
pwd查看:/Users/shixiongwei/PycharmProjects/myProjectPy/flasky

激活虚拟环境操作如下:

localhost:flasky shixiongwei$ source venv/bin/activate

1-6、安装flask

安装指令:(venv) localhost:flasky shixiongwei$ pip install flask


(venv) localhost:flasky shixiongwei$ pip install flask
Collecting flask
  Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB)
    100% |████████████████████████████████| 92kB 493kB/s 
Collecting Jinja2>=2.4 (from flask)
  Downloading Jinja2-2.10-py2.py3-none-any.whl (126kB)
    100% |████████████████████████████████| 133kB 1.1MB/s 
Collecting Werkzeug>=0.7 (from flask)
  Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
    100% |████████████████████████████████| 327kB 834kB/s 
Collecting click>=2.0 (from flask)
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |████████████████████████████████| 71kB 1.7MB/s 
Collecting itsdangerous>=0.21 (from flask)
  Downloading itsdangerous-0.24.tar.gz (46kB)
    100% |████████████████████████████████| 51kB 2.8MB/s 
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask)
  Downloading MarkupSafe-1.0.tar.gz
Building wheels for collected packages: itsdangerous, MarkupSafe
  Running setup.py bdist_wheel for itsdangerous ... done
  Stored in directory: /Users/shixiongwei/Library/Caches/pip/wheels/fc/a8/66/24d655233c757e178d45dea2de22a04c6d92766abfb741129a
  Running setup.py bdist_wheel for MarkupSafe ... done
  Stored in directory: /Users/shixiongwei/Library/Caches/pip/wheels/88/a7/30/e39a54a87bcbe25308fa3ca64e8ddc75d9b3e5afa21ee32d57
Successfully built itsdangerous MarkupSafe
Installing collected packages: MarkupSafe, Jinja2, Werkzeug, click, itsdangerous, flask
Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 flask-0.12.2 itsdangerous-0.24

至此,Flask安装已经完成。

总结如下:
一、流程
1、安装virtualenv
2、安装 virtualenv venv (命名虚拟环境为:venv)
3、激活虚拟环境
4、在虚拟环境中,安装flask
二、注意的地方
1、在流程一,的第2步中,因为Python版本问题,这边直接通过指令无法安装,所以这边采用对Python版本进行降级到2.7.9的操作。
指令为:$ conda install python=2.7.9

2、在成功安装了virtualenv 后,安装flask之前,一定要先激活虚拟环境。

你可能感兴趣的:(Python,Flask)