如何使用pip在Python3上安装Flask?

时间:2014-07-02 07:44:17

标签: python python-3.x flask pip

我想尝试将Flask与Python3一起使用。我在Ubuntu 14.04上获得了Python 3.4,据说它包含了pip。所以我试过

pip3 install flask

结束于:

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

所以我尝试导入它,但无济于事:

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'

我当然可以下载它并使用sudo python3 setup.py install以这种方式安装,但我宁愿这样做#34;标准方式&#34;因此,在生产机器上进行设置时,事情变得容易且更加标准化。

有人知道如何用Python3和pip导入Flask吗?欢迎所有提示!

http://pastebin.com/hd6LyVFP

中提供了错误日志

2 个答案:

答案 0 :(得分:20)

您似乎有许可问题。从您粘贴到pastebin的日志:

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

这是因为pip将尝试全局安装程序包,除非您指定某个安装位置。如果要全局安装,则必须使用sudo或以具有权限的用户身份安装。

尝试以下方法:

sudo pip3 install flask

或指定某个目录:

pip install -t <path> flask

但是,使用后一种方法,您必须始终注入sys.modules的路径,因此我建议您尽可能使用sudo

或者甚至更优选地使用virtualenv。 Virtualenv允许您非常轻松地打包您的应用程序以进行生产,因为您只能安装所需的软件包,因此您可以自动进行软件包隔离。然后生成requirements.txt就像pip freeze > requirements.txt一样简单。请记住,如果您使用virtualenv,不得使用sudo来安装软件包,因为它们将安装在virtualenv之外。

答案 1 :(得分:1)

对于Python 3.6.4版本,可以通过执行以下操作来安装Flask:

sudo pip3.6 install flask