ipython读取了错误的python版本
我在Python、iPython和库方面遇到了麻烦。以下几点显示了问题的链条。我正在Mac Lion上运行Python 2.7ipython读取了错误的python版本,python,ipython,Python,Ipython,我在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或
我尝试用easy_install和pip卸载并重新安装ipython。我还尝试通过自制重新安装了所有内容,并修改了path.bash_配置文件。首先,我会确保您使用的是正确的python。在命令提示下,键入:
which python
python -V
第一个将告诉您路径,第二个将告诉您正在使用的Python版本。好的快速修复:
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 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())
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')()
)
我的工作正常,但我的情况和OP的不完全一样
原始答案--13年9月30日:
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())
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')()
)
Aha-在编辑器中打开/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的正确版本
Python 3.4.5
非常相关:
运输署;由于shell“哈希”和路径变量,会遇到lr问题 我能想到的绝对最简单的解决方案,不需要摆弄环境、安装的文件或其他任何东西,它依赖于以下事实:
pip intall
的每个解释器分别安装的/path/to/desired/python $(which ipython)
这将使用您想要的解释器而不是shebang中列出的解释器运行
ipython
脚本。您的问题基本上是让ipython使用正确的python
因此,解决这个问题的方法是让ipython使用正确的python(它安装了像scipy这样的库)
我在这里写了一个解决方案:
我遇到了同样的问题,但以下是在OSX 12 Sierra上对我有效的唯一解决方案 ipython总是为Python3.6启动,但我在2.7中需要它。我找不到用于2.7的ipython启动脚本,也找不到使用
python-m
执行的ipython模块。brew instally ipythonpip install ipython
或pip2 install ipython
都无法获得2.7版本。所以我是手工得到的
brew安装ipython@5
从安装2.7版本,但不会将其放在您的$PATH
上,因为它知道名称与另一个包冲突。
ln-s/usr/local/cell/ipython@5/5.5.0_1/bin/ipython/usr/local/bin/ipython2
将修复此问题,并允许您在shell提示符下运行ipython2
对我来说,因为我对使用iPython2.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\u配置文件中创建别名
$ vi ~/.bash_profile
加行
alias ipython="python -m IPython"
然后您将在python 2.7中获得一个
ipython
如果您使用的是anaconda或其他虚拟环境包装器,那么这里提到的所有答案都无助于解决这个问题
这个答案是基于假设您使用的是蟒蛇
假设您在Python3环境中,在jupyter笔记本上创建笔记本时,它会显示“Python2”而不是“Python3”
这是因为“ipython”本质上是一个正在运行的脚本,在这个脚本中,它提到了它用于执行命令的python版本。您所需要做的就是更改这一行,让ipython使用您想要的python版本
首先停止ipython服务器,并使用命令“which python”获取当前环境的python可执行文件的位置
我的输出是:
/home/sourabh/anaconda2/envs/py3/bin/python
现在使用命令“which ipython”获取ipython的可执行位置
我的建议是:
/home/sourabh/anaconda2/envs/py2/bin/python
请注意,它使用的是来自特定环境的不同版本的python ie.python,运行的是来自不同环境的不同版本的python ie
现在导航到目录anaconda2/bin(对于anaconda3用户,应该是anaconda3/bin)并搜索“ipython”文件。在此编辑中,第一行指向您想要的当前python版本。即“哪条python”的输出,即:
注意,我将python环境从py2(运行Python2.7)更改为py3(运行Python3.5)
保存文件。然后运行jupyter notebook,现在在创建新笔记本时,“Python3”选项应该是可见的
干杯 将@Matt的评论作为一个答案发布,以使其更清晰可见
python -m IPython
将ipython作为一个模块加载,首先加载路径上可访问的python。在我的例子中,我预装了一个,并从brew中添加了一个。这就是完美的工作方式 对我来说,在wi上
Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>