ipython读取错误的Python版本
我一直在Python,iPython和库的问题。以下几点显示了问题的链条。我在Mac Lion上运行Python 2.7。ipython读取错误的Python版本
- 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。我也尝试通过自制软件重新安装所有东西,并修改路径.bash_profile。
好吧快速修复:
which python
给你/usr/bin/python
,对不对?做
which ipython
我敢打赌这将是/usr/local/bin/ipython
。让我们来看看里面:
编辑16年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的。
原来的答复 - 13年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,应该说它正在使用你想要的版本。
有疑问,'python -m IPython'等同于'ipython',希望你一定要使用正确的Python。 – Matt 2015-11-11 07:11:01
也记得关闭终端并打开一个新的。因为PATH为了效率而被shell高速缓存。这是我得到这个解决方案为我工作的方式。请参阅:http://conda.pydata.org/docs/troubleshooting.html#shell-command-location – putonspectacles 2016-12-18 18:23:34
首先,我会确保你使用的是正确的python。在命令提示符下键入:
which python
python -V
第一个会告诉你路径,第二个告诉你你正在使用的Python版本。
好吧,它给了我Python 2.7.2的疑问/ usr/local/bin/python – Diego 2012-02-22 13:54:54
如何使用virtualenv? 我真的很喜欢它。也许这不是更快的方式,但我认为这很清楚。
当您创建virtualenv时,您可以使用-p标志指定python路径。
for python 2。7
$ virtualenv -p /usr/bin/python2.7 venv2.7
$ source venv2.7/bin/activate
(venv2.7)$ pip install ipython
(venv2.7)$ ipython
为蟒蛇
3.4
$ virtualenv -p /usr/bin/python3.4 venv3.4
$ source venv3.4/bin/activate
(venv3.4)$ pip install ipython
(venv3.4)$ ipython
这是一个古老的线程,但我也来关注virtualenvs,并且喜欢他们开发产品。然而,为了“日常”分析的目的,我宁愿在我的系统中直接使用可用的python/ipython版本。 – Diego 2015-12-17 15:22:13
这不起作用btw – 2017-02-23 23:58:37
'python -m IPython'将启动ipython与给定版本的'python' – 2017-07-13 13:56:13
类似的方法使用pyenv
pyenv install 3.4.5
pyenv local 3.4.5
pip install ipython
ipython
,我们将会看到蟒蛇
Python 3.4.5
极其相关的正确版本:http://conda.pydata.org/docs/troubleshooting.html#shell-command-location。
td; lr由于shell'hashing'和路径变量而遇到lr问题。
也是一个普遍的良好做法是在virtualenv中安装ipython。你的'哪个python'应该指向virtualenv python二进制文件。 – putonspectacles 2017-01-03 16:51:41
我能想到的,绝对简单的解决方案,它需要与环境,安装的文件,或其他任何东西没有摆弄,依靠事实
- 可执行
ipython
实际上是一个Python脚本。 - 为您运行
pip intall
的每个解释器分别安装IPython软件包。
如果您正在使用已安装了IPython的包runninig Python版本,你可以做
/path/to/desired/python $(which ipython)
这将运行ipython
脚本解释器,你想,而不是在一上市家当。
而不是每次都调用上述内容,我如何将它设置为默认值,以便每次在我的shell中键入'ipython'时,它会自动读取自定义解释器而不是默认值? – ThePredator 2017-09-14 02:24:39
添加一个脚本,将其添加到默认路径之前。但是你必须惹恼环境才能做到这一点。 – 2017-09-14 03:36:44
你的问题基本上是让ipython使用正确的python。
所以修复的问题是让IPython的使用权蟒蛇(其中有像安装SciPy的库)
我在这里写了一个解决方案:
我碰到同样的问题,但以下是唯一的解决方案是什么在OSX 12,Sierra工作。
ipython总是启动python 3.6,但我需要2.7。我找不到2.7的ipython启动脚本,也找不到IPython模块以python -m
执行。没有brew instally ipython
pip install ipython
或pip2 install ipython
可以让我的2.7版本。所以我手动得到它。
brew install [email protected]
从here安装2.7版本,但不会将它放在您的$PATH
上,因为它知道名称与另一个软件包冲突。 ln -s /usr/local/Cellar/[email protected]/5.5.0_1/bin/ipython /usr/local/bin/ipython2
将解决这个问题,让你只是从你的shell中运行ipython2
提示
对于我来说,因为我是认真的使用IPython的2.7,我也跑下面的命令。
ln -s /usr/local/Cellar/ipython/6.2.1/bin/ipython /usr/local/bin/ipython3
rm -f /usr/local/bin/ipython
ln -s /usr/local/bin/ipython2 /usr/local/bin/ipython
我的解决方案很简单,但很笨,但工作。
我用python -V
确保的是什么版本是
$ python -V
Python 2.7.10
,然后进行别名的.bash_profile
$ vi ~/.bash_profile
添加一行
alias ipython="python -m IPython"
那么你会得到一个ipython
在Python 2.7中。
(顺便说一句,我的ipython
是通过homebrew
安装,其默认值将得到一个IPython的运行在Python 3)
$ brew install ipython
的'ipython'脚本“捆绑”到具体的Python版本是安装时 - 它不会自动切换到最后安装的内容。如果你首先安装了2.7.1,那么IPython,然后从源代码2.7.2,您的IPython将继续使用2.7.1。你需要撤销所有的诡计,回到你原来的Python版本并找出第一点的原因是什么;或者,使用安装的Python安装程序重新安装IPython,以访问您需要的库。 – millimoose 2012-02-21 22:17:52
你能更具体吗?...谢谢 – Diego 2012-02-22 13:57:52
具体关于哪个部分? IPython的启动如何工作,或者如何让问题消失? – millimoose 2012-02-22 18:27:58