我按照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?
答案 0 :(得分:1)
您创建并激活了一个虚拟环境,并且然后忽略了它,因为您使用了sudo
:
$ sudo pip install flask
激活virtualenv只需设置PATH
变量即可在运行bin
,pip
等时首先将命令放在python
目录中。
但是,当您使用sudo
时,会创建一个在root
用户下运行的新子shell,然后有效地告诉操作系统不使用当前的shell配置。以pip
用户身份执行时找到的root
命令与为virtualenv设置的命令不同。
接下来,您还是不想以root用户身份将软件包安装到virtualenv中。而是以当前用户身份安装它们。
只需放下sudo
:
$ pip install flask
甚至直接引用bin/pip
命令:
$ bin/pip install flask
virtualenv的全部目的是为您提供一个独立的Python环境,您可以在其中根据需要添加和删除软件包,而无需root访问。