繁体   English   中英

使用Python 3.3在virtualenv中使用IPython Notebook

[英]IPython Notebook in a virtualenv, using Python 3.3

我已经设置了Ubuntu 12.04系统,以便可以使用Python 2.7或Python 3.3创建virtualenv并运行IPython Notebook。 问题是,我不完全知道我对系统做了什么才能实现这一目标。 我正在尝试以其他方式帮助其他人设置他们的系统,但是我不确定我缺少哪些软件包。

在我的系统上,我可以运行以下命令来使IPython Notebook在virtualenv中运行:

~$ mkdir test_ipython3.3
~$ cd test_ipython3.3
~/test_ipython3.3$ virtualenv -p python3.3 venv
~/test_ipython3.3$ source venv/bin/activate
(venv)~/test_ipython3.3$ pip install ipython[all]==1.1.0

我可以使用virtualenv -p python2.7 venv来执行相同的命令集,并且除了运行Python 2.7之外,具有几乎相同的环境。

我正在尝试在virtualbox上安装12.04,以便我也可以成功运行这些命令,但是我一直失败。 在virtualbox中构建干净的Ubuntu 12.04计算机之后,请执行以下操作:

# Update machine:
sudo apt-get update
sudo apt-get dist-upgrade

# Install Python 3.3:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:fkrull/deadsnakes    
sudo apt-get update    
sudo apt-get install python3.3

# Install virtualenv
sudo apt-get install python-pip
sudo pip install pip --upgrade
sudo pip install virtualenv

# Install necessary packages:
sudo apt-get install python-dev python3.3-dev libzmq-dev

# Build a venv, using Python 2.7, which works:
~$ mkdir test_ipython2.7
~$ cd test_ipython2.7
~/test_ipython2.7$ virtualenv -p python2.7 venv
~/test_ipython2.7$ source venv/bin/activate
(venv)~/test_ipython2.7$ pip install ipython[all]==1.1.0
(venv)~/test_ipython2.7$ ipython notebook
# Works, opening an ipynb that runs Python 3.3

# Build a venv, using Python 3.3, which fails:
~$ mkdir test_ipython3.3
~$ cd test_ipython3.3
~/test_ipython3.3$ virtualenv -p python3.3 venv
~/test_ipython3.3$ source venv/bin/activate
(venv)~/test_ipython3.3$ pip install ipython[all]==1.1.0
(venv)~/test_ipython3.3$ ipython notebook
# Fails, says that ipython is not installed, despite having reported otherwise

尝试在3.3 virtualenv中安装ipython之后,我收到一条消息,提示ipython和许多支持软件包已成功安装。 但是,当我尝试运行ipython或ipython notebook时,我收到一条消息,提示未安装ipython。 看着安装过程,然后回滚输出,我找不到任何明显的故障。 我什至从源代码安装了zmq,所以我安装了zmq 4.0.3,这是ipython在安装过程中发现的。

谁能发现我要去哪里错了?

IPython 1.x在与Python 3一起安装时会创建后缀为'3'的脚本,以避免与随Python 2一起安装的IPython冲突,因此所需的命令是:

ipython3 notebook

在目前的发展IPython中(将是2.0),这种行为是有所改变,其中IPython中(同时安装非后缀和后缀条目点ipythonipython3上Python 3中, ipythonipython2关于Python 2),继建立的模式其他包装,例如鼻子。

当您有时想要访问2.7解释器而其他时候希望访问3.3解释器时,我仍然对安装ipython的最佳方法感到非常好奇。

有两种方法可以解决此问题:

第一种是在PATH(我使用~/bin )中具有很高优先级的地方创建一个ipython脚本,其内容为:

#!/usr/bin/env python
import IPython
IPython.start_ipython()

无论如何,这都会在您的PATH上使用当前的python,因此当您激活Python 3 env时,ipython会使用它,依此类推。

第二种是只使用:

python -m IPython

要么

python3 -m IPython

与输入ipython相同,但是您要指定要明确使用的解释器,因此毫无疑问正在使用什么Python。

这些问题似乎可以在以下位置解决: http : //ihrke.github.io/jupyter.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM