python - Flask 是为 Python 2.7 而不是为 Python 3 安装的
问题描述
我按照此网页中给出的步骤安装了 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?
解决方案
您创建并激活了一个 virtualenv,然后忽略了它,因为您使用了sudo
:
$ sudo pip install flask
激活 virtualenv 只需将PATH
变量设置为在运行时首先将命令放在bin
目录pip
中python
,等等。
但是当你使用时sudo
,你创建了一个在用户下运行的新子 shell root
,然后你有效地告诉操作系统不要使用当前的 shell 配置。并且以用户身份执行时pip
找到的命令与为您的 virtualenv 设置的命令不同。root
接下来,无论如何您都不想将软件包以 root 身份安装到您的 virtualenv 中。而是以当前用户身份安装它们。
只需删除sudo
:
$ pip install flask
甚至直接引用bin/pip
命令:
$ bin/pip install flask
virtualenv 的全部意义在于为您提供一个独立的 Python 环境,您可以在其中根据需要添加和删除包,而无需 root 访问权限。
推荐阅读
- apache-kafka - Kafka 中的数据流是什么?
- python - 我正在使用 python 的 glob 模块并得到一个空列表作为回报。我应该怎么办?
- java - 如何将按钮添加到我的 JavaFX 表视图
- angularjs - AngularJS 使 http post 同步顺序与 then
- javascript - 将 Ionicon 名称作为道具传递并在子组件中使用它
- docker - 如何使用可选/附加参数扩展服务 docker-compose
- reactjs - react-sortable-tree:代码不显示任何内容
- mongodb - 嵌套填充过滤是 MongoDB
- selenium-webdriver - 使用 selenium 从 python 中的 Accordion 中提取数据
- python - 如何在 anaconda 中为我的所有环境使用相同的名称?