How to install Flask on Python3 using pip?

54,879

Solution 1

You seem to have a permission issue. From the log you pasted to pastebin:

error: could not create '/usr/local/lib/python3.4/dist-packages/flask': Permission denied

This is because pip will attempt to install the package globally unless you specify a certain installation location. If you want to install this globally you must use sudo or install as a user with privileges.

Try the following:

sudo pip3 install flask

Or specify to a certain dir:

pip install -t <path> flask

However, with the latter method you will have to always inject the path to sys.modules so I suggest you just use sudo if you can.

Or even more preferrably, use virtualenv. Virtualenv allows you to very easily package your application for production because you can install only the packages you need and you've thus got automatic package isolation. Generating a requirements.txt is then as simple as pip freeze > requirements.txt. Remeber that if you end using a virtualenv, you must not use sudo to install packages as they will then be installed outside the virtualenv.

Solution 2

For Python 3.6.4 version, it is possible to install Flask by doing:

sudo pip3.6 install flask
Share:
54,879
kramer65
Author by

kramer65

Updated on February 07, 2020

Comments

  • kramer65
    kramer65 about 4 years

    I want to try using Flask with Python3. I've got Python 3.4 on Ubuntu 14.04, which supposedly ships with pip included. So I tried

    pip3 install flask
    

    this ends in:

    Cleaning up...
    Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_kramer65/flask/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-i98xjzea-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_kramer65/flask
    Storing debug log for failure in /tmp/tmpqc3b2nu5
    

    So I tried importing it, but to no avail:

    kramer65@vps1:~/cxs$ python3
    Python 3.4.0 (default, Apr 11 2014, 13:05:11)
    [GCC 4.8.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import flask
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named 'flask'
    

    I can of course download it and install using sudo python3 setup.py install it that way, but I would rather do it "the standard way" so that things are easily and more standard to setup on production machines.

    Does anybody know how I can import Flask with Python3 and pip? All tips are welcome!

    Error log is available in http://pastebin.com/hd6LyVFP

    • msvalkon
      msvalkon almost 10 years
      Post the contents of /tmp/tmpqc3b2nu5 please.
    • kramer65
      kramer65 almost 10 years
      @msvalkon - There was quite a lot of content, so I pasted it in a pastebin: pastebin.com/hd6LyVFP Any ideas?