使用Python 3.3的virtualenv中的IPython Notebook

 孤独中残存的幸福_627 发布于 2023-02-13 18:48

我已经设置了我的Ubuntu 12.04系统,这样我就可以使用Python 2.7或Python 3.3创建virtualenv,并运行IPython Notebook.问题是,我不知道我对我的系统做了什么让这成为可能.我试图帮助其他人以相同的方式设置他们的系统,我不确定我缺少什么包.

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

~$ 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笔记本时,我收到一条消息,表明没有安装ipython.观察安装过程,并在输出中向后滚动,我找不到任何明显的失败.我甚至从源代码安装了zmq,所以我安装了zmq 4.0.3,ipython在安装过程中找到了它.

谁能发现我哪里错了?

1 个回答
  • 当安装Python 3时,IPython 1.x会创建带有'3'后缀的脚本,以避免与安装了Python 2的IPython冲突,因此您需要的命令是:

    ipython3 notebook
    

    在当前的开发IPython(将是2.0)中,这种行为有所改变,其中IPython安装了非后缀和后缀入口点(ipython以及ipython3在Python 3 ipythonipython2Python 2上),遵循其他包建立的模式,例如作为鼻子.

    当你想要有时访问2.7解释器和其他时间的3.3解释器时,我仍然很好奇安装ipython的最佳方法.

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

    第一种是ipython在PATH(我使用~/bin)中创建一个非常高优先级的脚本,内容如下:

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

    这将使用你的PATH上的当前python,无论如何,所以当你激活Python 3 env时,ipython将使用它等.

    第二个是使用:

    python -m IPython
    

    要么

    python3 -m IPython
    

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

    2023-02-13 18:50 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有