ipython读取了错误的python版本
- 2025-03-04 08:25:00
- admin 原创
- 72
问题描述:
我在使用 Python、iPython 和库时遇到了麻烦。以下几点显示了问题链。我在 Mac Lion 上运行 Python 2.7。
iPython 不会读取 scipy、matplotlib 的库,但它会读取 numpy。
为了解决这个问题,我尝试安装 Python 的源代码版本,但这只会给我带来更多问题,因为现在我有两个不同的版本:2.7.1 和 2.7.2
我注意到运行 Python 时使用版本 2.7.2 并且导入了 scipy、matplotlib 和 numpy,但在 iPython 上版本是 2.7.1,它不会打开 scipy 或 matplotlib。
我尝试了其他博客文章中提到的几种方法。但这些方法都没有帮助,而且不幸的是,我也不太清楚其中有些方法该怎么做。例如:我尝试使用 easy_install 和 pip 卸载并重新安装 ipython。我还尝试通过 homebrew 重新安装所有内容,并修改路径 .bash_profile。
解决方案 1:
好的,快速修复:
which python
给你/usr/bin/python
,对吧?
which ipython
我敢打赌那一定很棒/usr/local/bin/ipython
。让我们看看里面的内容:
编辑于 2016 年 9 月 7 日——该文件现在如下所示:
cat /usr/local/bin/ipython
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from IPython import start_ipython
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script.pyw|.exe)?$', '', sys.argv[0])
sys.exit(start_ipython())
我的也可以这样正常工作,但是我的情况与 OP 不完全一样。
原始答案——2013年9月30日:
cat /usr/local/bin/ipython
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.12.1','console_scripts','ipython'
__requires__ = 'ipython==0.12.1'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('ipython==0.12.1', 'console_scripts', 'ipython')()
)
啊哈 -/usr/local/bin/ipython
用你的编辑器打开(具有权限),并将第一行更改为
#!/usr/local/bin/python
保存,启动 iPython,应该说它正在使用您现在想要的版本。
解决方案 2:
将@Matt 的评论发布为答案只是为了让它更引人注目
python -m IPython
首先将 ipython 作为模块加载,其中包含路径上可访问的任何 python。就我而言,我已预先安装了一个,并从 brew 中添加了一个。这真是完美。
解决方案 3:
那么使用虚拟环境怎么样?我真的很喜欢它。也许这不是更快的方法,但我认为它非常清晰。
当您创建虚拟环境时,您可以使用 -p 标志指定 python 路径。
对于 Python 2.7
$ virtualenv -p /usr/bin/python2.7 venv2.7
$ source venv2.7/bin/activate
(venv2.7)$ pip install ipython
(venv2.7)$ ipython
对于 Python 3.4
$ virtualenv -p /usr/bin/python3.4 venv3.4
$ source venv3.4/bin/activate
(venv3.4)$ pip install ipython
(venv3.4)$ ipython
解决方案 4:
首先,我要确保您使用的是正确的 Python。在命令提示符下输入:
which python
python -V
第一个会告诉你路径,第二个会告诉你正在使用的 Python 版本。
解决方案 5:
我的解决方案很简单,虽然愚蠢,但有效。
我用来python -V
确认版本
$ python -V
Python 2.7.10
然后在 .bash_profile 中创建别名
$ vi ~/.bash_profile
添加一行
alias ipython="python -m IPython"
然后你会在 Python 2.7 中得到一个ipython
。
扫码咨询,免费领取项目管理大礼包!