python - 为什么我的电脑上安装了 3 个 python?
问题描述
当我尝试查看计算机上安装的 python 版本时,我看到以下内容:
(base) dhcp76:bin me$ python -V
Python 2.7.16 :: Anaconda, Inc.
(base) dhcp76:bin me$ python2 -V
Python 2.7.16
(base) dhcp76:bin me$ python3 -V
Python 3.7.3
这会引起任何问题吗?我也安装了anaconda3,但是python3没有指向那个,也不知道怎么让它指向anaconda3。
所以,我的问题:
brew 和 anaconda 拥有 2 个 python 版本会导致问题吗?如果是,我应该删除其中一个吗?(我更喜欢蟒蛇)
我使用这个链接安装了pytorch:http://deeplizard.com/learn/video/UWlFM0R_x6I ,现在当我在所有三个版本中导入torch时它都可以工作了!!如果此链接仅使用 pip3 安装,这怎么可能?
谢谢!
解决方案
是的,当你安装 python 包时,拥有不同版本的 Python 可能会导致严重的头痛。
例如,如果您使用 Brew 安装软件包,您的 Anaconda 安装可能无法找到它,反之亦然。
在我决定完全卸载所有这些不同版本的 Python 并只保留 MacPorts 作为我的通用包管理器之前,我在维护所有这些不同版本的 Python 时遇到了许多一致性问题。
当您使用时sudo pip install
,可能使用不同的 python,而不是使用时python -m pip install
,可能不同于pip3 install
... 等等。
每个包管理器都有很多权衡。
- Brew 非常适合想要快速了解项目的人。
- Anaconda 有一个很棒的界面,可以让您最小化命令行界面交互并抽象出一些配置内容。
- 与 Brew 相比,Macports 拥有更多积极维护的软件包,但需要更多设置。对我来说,这是值得的,因为我再也没有遇到过 Python 包依赖问题。(虽然这也是由于学习了如何正确使用 virtualenvwrapper。)
大多数情况下,如果您完全知道您正在调用哪个 pip/python,那么您可以避免任何问题并拥有所有三个。
然而,实际上,您可能会忘记哪些 Python 版本可用于哪些系统路径中的哪些包。
如果事情变得糟糕,您可能会遇到尝试pip install
打包的情况,您的系统会说它已经存在,但您可能无法import <package>
从python <file>.py
终端。
推荐阅读
- python - 具有可变循环数的嵌套循环
- mysql - 需要多少个join才能获得不同的标签?
- docker - Heroku:如何在 gitlab CI/CD 中发布现有图像?
- python - 在 AWS lambda 函数中获取日志两次
- angular - 从 Angular 应用程序中的 HttpErrorResponse 获取错误消息
- javascript - React 16.4 允许从状态更改中调用 getDerivedStateFromProps。如何应对?
- couchbase - Couchbase 系统日志启用配置
- python - 在 skimage 中使用标签和 regionprops 时出错,
- android - Android - 如何定义备份内容规则以仅包含共享首选项
- performance - 实施密集型简单报告的最佳解决方案