sudo apt install python3-flask和pip3 install Flask有什么区别?

时间:2019-01-31 05:01:41

标签: python python-3.x flask

两种安装烧瓶的方法有何区别:sudo apt install python3-flaskpip3 install Flask

pip3 install Flask之后,它要求我尝试第一种方法:

$ pip3 install Flask
Collecting Flask
  Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl
Collecting click>=5.1 (from Flask)
  Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl
Collecting Jinja2>=2.10 (from Flask)
  Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl
Collecting Werkzeug>=0.14 (from Flask)
  Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting itsdangerous>=0.24 (from Flask)
  Using cached https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->Flask)
  Using cached https://files.pythonhosted.org/packages/08/04/f2191b50fb7f0712f03f064b71d8b4605190f2178ba02e975a87f7b89a0d/MarkupSafe-1.1.0-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: click, MarkupSafe, Jinja2, Werkzeug, itsdangerous, Flask
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 click-7.0 itsdangerous-1.1.0

$ flask run
Command 'flask' not found, but can be installed with:
sudo apt install python3-flask

如果我同时运行sudo apt install python3-flaskpip3 install Flask会不会发生冲突?

谢谢。

2 个答案:

答案 0 :(得分:1)

apt install...

  • 由发行版的打包管理团队打包。 有时这将包括不在主分支上的特定于发行版的补丁。
  • 可以是(自动)通过更新apt(这可能会或可能不会有事你感兴趣的,通常不)无论包管理器GUI前端,你的发行版使用和。
  • 在需要编译步骤的情况下,(几乎?)将始终在您安装之前为您完成。
  • 将永远是一个系统范围内的安装。

pip install...

  • 由封装的作者提供。
  • 将需要某种形式的手动更新(无论是由pip install -Upip install荷兰国际集团的别的的,需要你有过时的软件包的新版本。
  • 在需要编译步骤的情况下,有时会为您完成(以前很少,但是最近经常这样做)。
  • 您可以选择进行系统范围的安装,用户安装或虚拟环境(选择您的口味)安装。

关于冲突,有可能是广义上的“冲突”的话,例如,两种封装尽量把可执行文件在您PATH(一个将“赢”,一会“输”)或有依赖版本冲突,但那个以外,真的没有。

个人而言,我不会通过apt安装 any Python软件包。尽管如果您只是想学习该语言并希望使事情变得简单一点,我真的认为没有任何害处。

关于您的错误:

Command 'flask' not found, but can be installed with:
sudo apt install python3-flask

请注意,这是您的操作系统的建议,而不是新安装在点子上的烧瓶。这表明pip安装没有将flask包装器脚本放在您的路径中的某个位置。对我来说,它把flask {在{1}} - 你应该确保无论目录下的/usr/local/bin/flask包装被安装在你的flask

查找PATH与包装脚本:

flask

确保目录是路径上:

find / -name flask 2>/dev/null

答案 1 :(得分:1)

已经以here的身份提出了这个问题,所选答案提供了有关差异的非常详细的解释。

总结一下,

  1. aptpip都是程序包管理器,但是pip仅托管Python模块,而apt则不。
  2. pip相比,我更喜欢apt,因为您可以将模块安装到virtualenv中而无需root用户权限。另一方面,apt可以将计算机上的软件包自动更新为最新版本,而pip不能。
  3. 无论选择哪种软件包管理器,都不会发生冲突,因为两者都将Flask安装到同一用户目录中(除非您使用virtualenv)。