为啥 Anaconda 安装 redis-py 包之后,到 Python 里 import 的时候名字变成 redis 了

2020-06-14 18:32:48 +08:00
 Fobs

我想安装一个连接 redis 与 python 的包,在 anaconda 里包名叫 redis-py,而在 pip 里包名叫 redis,这点还可以理解,毕竟可能只是两个包管理工具命名方式不同。问题是为啥我用 anaconda 安装时叫 redis-py,到了 python 里import的时候包名就变成 redis,通过conda listpip list两个命令查看时,conda list下依然叫 redis-py,而pip list下叫 redis,基本可以确定这是同一个包,版本相同,也是第一次安装。

2390 次点击
所在节点    Python
6 条回复
Muniesa
2020-06-14 19:01:47 +08:00
因为本身就可以不一样啊……pip 里面也是可以设置成不一样的,比如 OpenCV 导入的时候是 cv2,pillow 导入的时候是 PIL,pytorch 导入的时候是 torch
tqbfjotld
2020-06-14 20:30:00 +08:00
conda 和 pypi 不一样
est
2020-06-14 20:34:10 +08:00
因为 redis-py 会被 python 解析成 redis 这个变量减去 py 这个变量。
AlisaDestiny
2020-06-14 21:08:40 +08:00
给你举个栗子你就明白了:
比如你在网站下载一个文件叫 a.zip ,但是你解压(把这个过程当做作 pip 里的安装)后可能是 b.jpg 。
ruanimal
2020-06-15 09:49:26 +08:00
@est 并不是解析,redis-py 是 pypi 上发布用的包名,redis 是使用时用的包名,两者并不一定一样
silkriver
2020-06-15 10:06:44 +08:00
pypi 只是 python 软件包的仓库,但 anaconda 不是,你可以用 conda 命令装 python 、装 jdk 、装 mingw64 、装 redis 本身……redis 的 python 软件包在 pypi 上可以命名为 redis,但在 anaconda 上就会产生名称冲突了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/681476

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX