ipython读错了python版本

我在使用Python,iPython和库时遇到了麻烦。以下几点显示了问题链。我在Mac Lion上运行Python 2.7。

  1. iPython不会读取scipy,matplotlib的库,但它确实读取了numpy。

  2. 为了解决这个问题,我尝试安装Python的源代码版本,它只给了我更多的问题,因为现在我有两个不同的版本:2.7.1和2.7.2

  3. 我注意到运行Python,使用版本2.7.2并导入scipy,matplotlib和numpy,但是在iPython上版本是2.7.1,它不会打开scipy或matplotlib。

我尝试过其他一些我从其他博客中遇到的事情。但是他们都没有帮助,也不幸的是我不知道我在做些什么。例如:我尝试使用easy_install和pip卸载并重新安装ipython。我还尝试通过自制程序重新安装所有内容,并修改路径.bash_profile。


守着一只汪
浏览 723回答 3
3回答

芜湖不芜

好的快速修复:which python给你/usr/bin/python,对吗?做which ipython我打赌那会是/usr/local/bin/ipython。让我们看看里面:编辑9/7/16 - 文件现在看起来像这样:cat /usr/local/bin/ipython#!/usr/bin/python# -*- coding: utf-8 -*-import reimport sysfrom IPython import start_ipythonif __name__ == '__main__':    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])    sys.exit(start_ipython())我的工作正常,但我的情况与OP不完全相同。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 sysfrom pkg_resources import load_entry_pointif __name__ == '__main__':    sys.exit(        load_entry_point('ipython==0.12.1', 'console_scripts', 'ipython')()    )啊啊 - /usr/local/bin/ipython在您的编辑器中打开(具有权限),并将第一行更改为#!/usr/local/bin/python保存,启动iPython,应该说它正在使用你想要的版本。

拉莫斯之舞

那么使用virtualenv呢?我很喜欢。也许这不是更快的方式,但我认为非常清楚。创建virtualenv时,可以使用-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

白衣染霜花

我的解决方案很简单,很愚蠢但很有效。我python -V用来确定版本是什么$ python -VPython 2.7.10然后在.bash_profile中创建别名$ vi ~/.bash_profile添加一行alias ipython="python -m IPython"然后你会得到一个ipythonpython 2.7。?(顺便说一句,我ipython是安装通过homebrew,它默认将在python 3中运行ipython。)$ brew install ipython
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python