我正在使用Docker容器中的jupyter/pyspark-notebook在Ubuntu 15.10上工作。我需要安装folium及其所有依赖项,并在容器中运行Pyspark脚本。我成功安装了Docker,拉取了镜像并使用以下命令运行:
docker run -d -p 8888:8888 -p 4040:4040 -v /home/$MYUSER/$MYPROJECT:/home/jovyan/work jupyter/pyspark-notebook
然后,我成功地执行了这段代码示例
import pyspark
sc = pyspark.SparkContext('local[*]')
# do something to prove it works
rdd = sc.parallelize(range(1000))
rdd.takeSample(False, 5)
我在
/opt
文件夹中查找conda环境(如文档所述),但是没有找到conda。然后,我像普通Python包一样安装了miniconda3和folium及其所有依赖项(不涉及Docker)。但是它无法正常工作。当我运行图像并尝试使用
import folium
导入包时,它找不到folium包。ImportErrorTraceback (most recent call last)
<ipython-input-1-af6e4f19ef00> in <module>()
----> 1 import folium
ImportError: No module named 'folium'
因此,问题可以简化为两个问题:
- 容器的conda在哪里?
- 我该如何将需要的Python包安装到容器中?
FROM jupyter/pyspark-notebook
并添加conda install --quiet --yes 'folium'
,或者只需登录到容器中sudo docker exec -it container_id /bin/bash
并直接在容器内安装(首选使用第一种方法)。 - Xiongbing Jin$ docker my_containers_name ls /opt/conda
,发现了conda环境。 - Jocer