Flask是为Python 2.7而非Python 3安装的

时间:2018-10-08 09:02:34

标签: python flask virtualenv

我按照this webpage中给出的步骤安装了Flask,因此首先我通过遵循以下命令代码来设置Python 3的环境:

pooja@X1-Carbon-6:~/Documents/sva/projekten$  python3 -m venv venv
pooja@X1-Carbon-6:~/Documents/sva/projekten$ . venv/bin/activate
(venv) pooja@X1-Carbon-6:~/Documents/sva/projekten$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

到目前为止听起来不错,然后我尝试安装Flask,这就是发生的情况:

(venv) pooja@X1-Carbon-6:~/Documents/sva/projekten$ sudo pip install flask
[sudo] password for pooja: 
The directory '/home/pooja/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/pooja/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting flask
  Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)
    100% |████████████████████████████████| 92kB 836kB/s 
Requirement already satisfied: Jinja2>=2.10 in /usr/local/lib/python2.7/dist-packages (from flask) (2.10)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python2.7/dist-packages (from flask) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in /usr/local/lib/python2.7/dist-packages (from flask) (0.14.1)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python2.7/dist-packages (from flask) (7.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python2.7/dist-packages (from Jinja2>=2.10->flask) (1.0)
Installing collected packages: flask
Successfully installed flask-1.0.2
(venv) pooja@X1-Carbon-6:~/Documents/sva/projekten$ flask --version
Flask 1.0.2
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609]
(venv) pooja@X1-Carbon-6:~/Documents/sva/projekten$ 

有人有什么想法,如何为Python 3而不是Python 2.7安装Flask?

1 个答案:

答案 0 :(得分:1)

您创建并激活了一个虚拟环境,并且然后忽略了它,因为您使用了sudo

$ sudo pip install flask

激活virtualenv只需设置PATH变量即可在运行binpip等时首先将命令放在python目录中。

但是,当您使用sudo时,会创建一个在root用户下运行的新子shell,然后有效地告诉操作系统不使用当前的shell配置。以pip用户身份执行时找到的root命令与为virtualenv设置的命令不同。

接下来,您还是不想以root用户身份将软件包安装到virtualenv中。而是以当前用户身份安装它们。

只需放下sudo

$ pip install flask

甚至直接引用bin/pip命令:

$ bin/pip install flask

virtualenv的全部目的是为您提供一个独立的Python环境,您可以在其中根据需要添加和删除软件包,而无需root访问。