[英]Jupyter notebook can not find installed module
启动时,Jupyter笔记本遇到模块导入问题
import findspark
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-ff073c74b5db> in <module>
----> 1 import findspark
ModuleNotFoundError: No module named 'findspark'
康达清单显示模块在这里
filelock 3.0.8 py37_0
findspark 1.3.0 py_1 conda-forge
flask 1.0.2 py37_1
Python版本
(myenv) mm@mm-HP-EliteBook-8560p:~$ python -V
Python 3.6.8
看来我的安装不干净。 .bash_profile
三行Python
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
为什么会出现导入错误?
我建议使用稍微不同的路线。
/Users/me/spark-2.4.0-bin-hadoop2.7
位置解压缩。 假设您使用的是Mac,请更新~/.bash_profile
以包含以下条目:
export SPARK_HOME=/Users/me/spark-2.4.0-bin-hadoop2.7 export PYTHONPATH=${SPARK_HOME}/python:$PYTHONPATH export PYTHONPATH=${SPARK_HOME}/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH export PYSPARK_PYTHON=<path to your python location> export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS=notebook PATH=$PATH:$SPARK_HOME/bin
执行source ~/.bash_profile
。
pyspark
,它将打开jupyter笔记本。 现在,您的笔记本将与该Spark安装绑定在一起。 如果您使用的是Linux,我认为唯一的更改是将内容附加到路径的语法,而不是更改bash_profile
您可能需要更改bashrc
文件。
确保您使用正确的virtualenv 。
为您的工作创建一个新的virtualenv(例如,在此处以3.7.4为例。使用已安装的版本):
pyenv virtualenv 3.7.4 myenv
您可以查看已安装的python版本:
pyenv versions
以及哪些版本可用于安装:
pyenv install -l
您可以使用以下方法激活virtualenv shell:
pyenv shell myenv
在启用virtualenv的情况下,您应该在提示符之前看到virtualenv名称。 像“((myenv)〜$:”
现在,像平常一样安装所有python软件包。 在运行软件包之前,请确保您使用的是正确的virutalenv。 您还可以设置PYENV_VERSION环境变量以指定要使用的virtualenv。 就像是:
PYENV_VERSION=myenv python -m pip install findspark
然后
PYENV_VERSION=myenv python -m pip show findspark
应该给你这样的东西:
Name: findspark
Version: 1.3.0
Summary: Find pyspark to make it importable.
Home-page: https://github.com/minrk/findspark
Author: Min RK
Author-email: benjaminrk@gmail.com
License: BSD (3-clause)
Location: /home/tzhuang/.pyenv/versions/3.7.4/envs/myenv/lib/python3.7/site-packages
Requires:
Required-by:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.