Flask установлен для Python 2.7, а не для Python 3 - PullRequest
0 голосов
/ 08 октября 2018

Я установил 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$ 

У кого-нибудь есть идеи, как я могу установить Flask для Python 3, а не для Python 2.7?

1 Ответ

0 голосов
/ 08 октября 2018

Вы создали и активировали virtualenv, а затем проигнорировали его , потому что вы использовали sudo:

$ sudo pip install flask

Активация virtualenv просто устанавливает переменную PATH для установкикоманды в каталоге bin в первую очередь при запуске pip, python и т. д.

Но когда вы используете sudo, вы создаете новую вложенную оболочку, запущенную под пользователем root, иЗатем вы фактически указываете ОС: не использовать текущую конфигурацию оболочки .И команда pip, найденная при выполнении в качестве пользователя root , отличается от команды, настроенной для вашего virtualenv.

Далее, вы не захотите устанавливать пакетыв любом случае, как корень в вашем virtualenv.Вместо этого установите их в качестве текущего пользователя.

Просто отбросьте sudo:

$ pip install flask

или даже напрямую обратитесь к команде bin/pip:

$ bin/pip install flask

весь смысл virtualenv состоит в том, чтобы предоставить вам изолированную среду Python, которая является вашей собственной, где вы можете добавлять и удалять пакеты по мере необходимости, без необходимости root-доступа.

...