我安装了Python 2.7和3.5.如果我使用命令行运行脚本python,它使用Python 2.7,但如果我启动iPython,它使用Python 3:
kurt@kurt-ThinkPad:~$ python -V
Python 2.7.12
kurt@kurt-ThinkPad:~$ ipython
Python 3.5.2 (default, Sep 10 2016, 08:21:44)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
Run Code Online (Sandbox Code Playgroud)
有没有办法启动iPython以便它使用Python 2?(我正在使用Ubuntu LTS 16.04).
我通常使用IPython,并且最近才注意到常规python shell中导入的搜索路径是错误的.根据我的理解,sys.path继承自PYTHONPATH(虽然我不知道PYTHONPATH住在哪里),这在IPython中是不同的?我担心这个有影响的装置.比如我刚尝试过
pip install --upgrade gensim
Run Code Online (Sandbox Code Playgroud)
失败,因为它无法解决我已经安装的scipy依赖项.所以我在Ipython中找到了更深入的鸽子
import gensim
gensim.__version__
Run Code Online (Sandbox Code Playgroud)
在python中返回.9.1
import gensim
gensim.__version__
Run Code Online (Sandbox Code Playgroud)
返回.8.9
以下是Ipython版本的sys.path的样子:
['',
'/Users/change/anaconda/bin',
'/Users/change/anaconda/lib/python2.7/site-packages/pybing-0.12-py2.7.egg',
'/Users/change/anaconda/lib/python2.7/site-packages/httplib2-0.8-py2.7.egg',
'/Users/change/anaconda/python.app/Contents/lib/python27.zip',
'/Users/change/anaconda/python.app/Contents/lib/python2.7',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-darwin',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-mac',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-tk',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-old',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-dynload',
'/Users/change/anaconda/lib/python2.7/site-packages',
'/Users/change/anaconda/lib/python2.7/site-packages/PIL',
'/Users/change/anaconda/lib/python2.7/site-packages/pygoogle',
'/Users/change/anaconda/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info',
'/Users/change/anaconda/lib/python2.7/site-packages/IPython/extensions']
Run Code Online (Sandbox Code Playgroud)
和常规的python脚本sys.path:
['',
'/Users/change/anaconda/lib/python2.7/site-packages/pybing-0.12-py2.7.egg',
'/Users/change/anaconda/lib/python2.7/site-packages/httplib2-0.8-py2.7.egg',
'/Users/change/anaconda/lib/python27.zip',
'/Users/change/anaconda/lib/python2.7',
'/Users/change/anaconda/lib/python2.7/plat-darwin',
'/Users/change/anaconda/lib/python2.7/plat-mac',
'/Users/change/anaconda/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/change/anaconda/lib/python2.7/lib-tk',
'/Users/change/anaconda/lib/python2.7/lib-old',
'/Users/change/anaconda/lib/python2.7/lib-dynload',
'/Users/change/anaconda/lib/python2.7/site-packages',
'/Users/change/anaconda/lib/python2.7/site-packages/PIL',
'/Users/change/anaconda/lib/python2.7/site-packages/pygoogle',
'/Users/change/anaconda/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']
Run Code Online (Sandbox Code Playgroud) 我正在尝试将iPython设置为使用2.6版本而不是2.7版本.有办法吗?
更多信息.我正在尝试设置一个iPython笔记本来开发Spark应用程序,然而,整个集群中的python版本是2.6,其中只有名称节点安装了最新的Anaconda python版本2.7.在那种情况下,当我启动一个python笔记本时,它将使用2.7作为解释器,当我尝试分发工作时我遇到了错误.
我没有将wholecluster升级为使用2.7,而是将名称节点上的iPython版本降级为2.6,有没有办法做到这一点?
更新:
感谢Jivan的建议,使用python virtualenv在虚拟环境中安装旧版本的iPython实际上相当容易,无论何时你想使用它,你都可以拥有一个像这样的bash脚本并且会有一个正确的iPython笔记本环境,它在整个群集中具有一致的python版本.
#!/bin/bash
which python
source /root/user/python-ev/bin/activate
which python
ipython notebook --profile=pyspark
Run Code Online (Sandbox Code Playgroud) 我安装了Python 2和Python 3,但是当我使用ipython终端运行IPython时它会启动Python 2.如何让IPython运行Python 3?在IPython引用中,它表示您只需要使用ipython3终端中的命令,但这不起作用.这个问题似乎在Stackoverflow的其他地方被问到,但我没有看到一个非常明确的答案.
我们可以更改IPython使用的Python解释器的版本吗?
我知道有IPython和IPython3,但问题是,IPython使用Python2.7,而IPython3使用Python3.4.2,我认为没有办法改变它.
如果我希望IPython使用我想要的任何版本的Python解释器,我可以这样做吗?
我希望IPython使用最新的Python版本Python3.6.我能这样做吗?
我在OS X 10.10中使用pip安装了iPython,它给了我"ipython"和"ipython2"命令,这些命令运行得很好,但它们使用OS X的默认python版本2.7.9.我下载并安装了Python3.4的最新版本,可以使用命令"python3"加载它,但找不到让iPython使用这个版本的python的方法.iPython Web站点声明该包可以与python版本3.3及更高版本一起使用,但是我找不到任何关于如何更改所使用的默认python版本的指令.
到目前为止,我发现iPython的jupyter包在/ usr/local/share/jupyter/kernels /中有一个内核规范,它只是一个名为"python2"的文件夹,其中包含指向系统的python 2.7.6的json文件. ,但改变这一点指向新的python3.4安装不起作用.我猜这个配置适用于ipython笔记本.
我也试过这里的方法:ipython读取错误的python版本
这样做我在/ user/local/bin /中复制了ipython2命令并编辑它以使用位于/Library/Frameworks/Python.framework/Versions/3.4/bin/python3的python3解释器,但是,这给了我错误"ImportError:没有名为'IPython'的模块",这表明python3安装没有安装ipython.
为了解决这个问题,我尝试卸载ipython并使用pip重新安装它,但它只是针对系统的Python 2.7安装而没有为python3做任何事情.
有谁知道如何配置iPython使用不同的python版本,甚至为python3安装单独的ipython安装?最终根据我的需要快速来回切换会很不错.