Я на машине с Ubuntu 18.04, и у меня установлены Python версий 2.7 и 3.6.Сначала я установил флягу в Python 2.7:
$ sudo pip install flask
$ flask --version
Flask 1.0.2
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0]
Но так как я хочу собрать свое приложение в Python3, я удалил флягу из Python 2.7 и установил ее в Python 3.6:
$ sudo pip uninstall flask
$ sudo pip3 install flask
$ flask --version
bash: /usr/local/bin/flask: No such file or directory
дажехотя, кажется, он установлен правильно:
$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
>>> flask.__version__
'1.0.2'
Есть идеи, как использовать колбу cli в Python 3?
ps: я знаю, что могу использовать virtualenv, но мне интересно, почемуэто происходит.
[EDIT]
Хорошо, теперь я вижу, что фляга в Python 3 установлена в моей директории пользователя:
>>> import flask; print(flask)
<module 'flask' from '/home/kramer65/.local/lib/python3.6/site-packages/flask/__init__.py'>
где, если я устанавливаю флягув Python 2.7 он установлен глобально:
>>> import flask; print(flask)
<module 'flask' from '/usr/local/lib/python2.7/dist-packages/flask/__init__.pyc'>
Почему эта разница?Кто-нибудь знает, как я могу установить колбу глобально в Python 3?
[EDIT2]
Как ответ на вопрос @hoefling:
$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
[EDIT3]
Оказывается, все они установлены в моей папке ~/.local/
.Когда я удаляю, а затем снова устанавливаю колбу, я получаю это (обратите внимание на пути расположения других библиотек):
$ sudo pip3 install flask
The directory '/home/kramer65/.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/kramer65/.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 1.6MB/s
Requirement already satisfied: Werkzeug>=0.14 in /home/kramer65/.local/lib/python3.6/site-packages (from flask)
Requirement already satisfied: itsdangerous>=0.24 in /home/kramer65/.local/lib/python3.6/site-packages (from flask)
Requirement already satisfied: Jinja2>=2.10 in /home/kramer65/.local/lib/python3.6/site-packages (from flask)
Requirement already satisfied: click>=5.1 in /home/kramer65/.local/lib/python3.6/site-packages (from flask)
Requirement already satisfied: MarkupSafe>=0.23 in /home/kramer65/.local/lib/python3.6/site-packages (from Jinja2>=2.10->flask)
Installing collected packages: flask
Successfully installed flask-1.0.2
Но когда я делаю pip3 show flask
, он говорит, что местоположение /usr/local/lib/python3.6/dist-packages
:
$ pip3 show flask
Name: Flask
Version: 1.0.2
Summary: A simple framework for building complex web applications.
Home-page: https://www.palletsprojects.com/p/flask/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
License: BSD
Location: /usr/local/lib/python3.6/dist-packages
Requires: Werkzeug, Jinja2, click, itsdangerous
Что здесь происходит?