Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用Python2和Python3安装附加软件包Jupyter_Python 2.7_Python 3.x_Ubuntu_Docker_Jupyter - Fatal编程技术网

Python 2.7 使用Python2和Python3安装附加软件包Jupyter

Python 2.7 使用Python2和Python3安装附加软件包Jupyter,python-2.7,python-3.x,ubuntu,docker,jupyter,Python 2.7,Python 3.x,Ubuntu,Docker,Jupyter,我想将Jupyter笔记本电脑与Python2和Python3一起使用。我设法让python 2和3内核运行,但可用的软件包似乎与我的系统python 2和3不同 我正在使用docker来设置我的环境,但这应该也适用于其他Ubuntu 16.10版本 问题是,当我使用需要额外软件包的笔记本时,Jupyter的内核无法识别这些软件包 长话短说:我正在寻找最好的方法来安装Python2和Python3,以及与Ubuntu上的Jupyter笔记本兼容的附加软件包 FROM ubuntu:16.10 M

我想将Jupyter笔记本电脑与Python2和Python3一起使用。我设法让python 2和3内核运行,但可用的软件包似乎与我的系统python 2和3不同

我正在使用docker来设置我的环境,但这应该也适用于其他Ubuntu 16.10版本

问题是,当我使用需要额外软件包的笔记本时,Jupyter的内核无法识别这些软件包

长话短说:我正在寻找最好的方法来安装Python2和Python3,以及与Ubuntu上的Jupyter笔记本兼容的附加软件包

FROM ubuntu:16.10
MAINTAINER Rutger Hofste <rutger.hofste@wri.org>

RUN apt-get update
RUN apt-get install -y git

# Python 2 and Jupyter (legacy that can run python2)
RUN apt-get install python python-pip -y
RUN pip install --upgrade pip
RUN pip install IPython==5.0
RUN pip install jupyter

# Python 3.5.2+
RUN apt-get install python3 -y

# 8.1.2
RUN apt-get install -y python3-pip

# Add Kernel
RUN python3 -m pip install ipykernel
RUN pip3 install --upgrade pip

我建议对您想要的每个Python2和Python3环境使用一个pip virtualenv。与Jupyter合作可能有点麻烦,但希望对您来说会很简单

设置您的环境:

$ virtualenv -p python3 my_py3_env
让它与Jupyter一起工作:

$ source my_py3_env/bin/activate
$ pip install ipykernel
$ python -m ipykernel install --user --name=my_py3_env
您应该能够对每个要使用的环境执行此操作。显然,您需要在每个环境中安装所需的软件包。此外,我还没有使用Docker,因此您可能需要修改这些命令以适应


很明显,我的pip在更新后将其目标目录更改为python 3。你可以通过pip-V和pip3-V来检查这一点

重新安装解决了以下问题:
运行python-m pip install-U——强制重新安装pip非常奇怪,我今天尝试了同样的代码,现在它可以工作了。我认为Docker缓存了一些命令。很显然,我的pip在更新后将其目标目录更改为python 3。重新安装解决了这个问题:运行python-mpipinstall-U——强制重新安装pip
$ source my_py3_env/bin/activate
$ pip install ipykernel
$ python -m ipykernel install --user --name=my_py3_env