首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么python包使用__version__和pip显示不同的版本(相同的目录)

为什么python包使用__version__和pip显示不同的版本(相同的目录)
EN

Stack Overflow用户
提问于 2022-07-22 06:59:19
回答 1查看 66关注 0票数 0

我仔细检查了环境,这两个方法显示了相同的包目录:

代码语言:javascript
复制
>>> !pip show astropy
Name: astropy
Version: 5.1
Summary: Astronomy and astrophysics core library
Home-page: http://astropy.org/
Author: The Astropy Developers
Author-email: astropy.team@gmail.com
License: BSD 3-Clause License
Location: /home/duhc/anaconda3/lib/python3.9/site-packages
Requires: packaging, numpy, PyYAML, pyerfa
Required-by: sdss-marvin, photutils, mgefit, gwcs

>>> import astropy
>>> print(astropy.__version__)
>>> print(astropy.__path__)
4.3.1
['/home/duhc/anaconda3/lib/python3.9/site-packages/astropy']

我们看到,目录是相同的,都是/home/duhc/anaconda3/lib/python3.9/site-packages,而版本是不同的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-22 09:49:51

这种情况不会发生在新鲜的环境中:

代码语言:javascript
复制
$>conda create -n astropy python=3.9.7 astropy=5.1
$>conda activate astropy
$>pip show astropy
Name: astropy
Version: 5.1
Summary: Astronomy and astrophysics core library
Home-page: http://astropy.org
Author: The Astropy Developers
Author-email: astropy.team@gmail.com
License: BSD 3-Clause License
Location: ...\miniconda3\envs\astropy\lib\site-packages
Requires: numpy, packaging, pyerfa, PyYAML
Required-by:

$>python -c "import astropy; print(astropy.__version__)"
5.1

在从pypi安装软件包时也不会发生。

代码语言:javascript
复制
$>conda uninstall astropy
$>pip install astropy
$>python -c "import astropy; print(astropy.__version__)"
5.1

$>pip show astropy
Name: astropy
Version: 5.1
Summary: Astronomy and astrophysics core library
Home-page: http://astropy.org
Author: The Astropy Developers
Author-email: astropy.team@gmail.com
License: BSD 3-Clause License
Location: ...\miniconda3\envs\astropy\lib\site-packages
Requires: numpy, packaging, pyerfa, PyYAML
Required-by:

可能发生的情况是,您用conda覆盖了已安装的pip包。复制的完整步骤:

代码语言:javascript
复制
$> conda create -n astropy python=3.9.7
$> conda activate astropy
$> pip install astropy
$> pip show astropy
Name: astropy
Version: 5.1
Summary: Astronomy and astrophysics core library
Home-page: http://astropy.org
Author: The Astropy Developers
Author-email: astropy.team@gmail.com
License: BSD 3-Clause License
Location: ...\miniconda3\envs\astropy\lib\site-packages
Requires: numpy, packaging, pyerfa, PyYAML
Required-by:
$> conda install astropy==4.3.1
$> pip show astropy
Name: astropy
Version: 5.1
Summary: Astronomy and astrophysics core library
Home-page: http://astropy.org
Author: The Astropy Developers
Author-email: astropy.team@gmail.com
License: BSD 3-Clause License
Location: ...\miniconda3\envs\astropy\lib\site-packages
Requires: numpy, packaging, pyerfa, PyYAML
Required-by:

$> python -c "import astropy; print(astropy.__version__)"
4.3.1

因此,这看起来并不是包中的一个bug,而是一个很好的例子,说明了为什么您应该谨慎地不把condapip命令混合在同一个环境中而不加注意。我特别建议不要在您的基本环境中这样做(就我个人而言,除了更新之外,我根本不会更改基env )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73076289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档