我在Windows上安装了Spark,但我无法启动pyspark.当我输入时c:\Spark\bin\pyspark,我收到以下错误:
Python 3.6.0 | Anaconda自定义(64位)| (默认情况下,2016年12月23日,11:57:41)win32上的[MSC v.1900 64 bit(AMD64)]输入"help","copyright","credits"或"license"以获取更多信息.回溯(最近一次调用最后一次):文件"c:\ Spark\bin ..\python\pyspark\shell.py",第30行,在导入pyspark文件"c:\ Spark\python\pyspark__init __.py",第44行,从pyspark.context导入SparkContext文件"c:\ Spark\python\pyspark\context.py",第36行,从pyspark.java_gateway导入launch_gateway文件"c:\ Spark\python\pyspark\java_gateway.py",第31行,从py4j.java_gateway导入java_import,JavaGateway,GatewayClient文件"",第961行,在_find_and_load文件"",第950行,在_find_and_load_unlocked文件"",第646行,在_load_unlocked文件"",第616行,在_load_backward_compatible在文件"C:\ Users\Eigenaar\Anaconda3\lib\pydoc.py"中的文件"c:\ Spark\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py",第18行,第62行,在导入pkgutil文件"C:\ Users\Eigenaar\Anaconda3\lib\pkgutil.py",第22行,在ModuleInfo = namedtuple('ModuleInfo','module_finder name ispkg')文件"c:\ Spark\python\pyspark\serializers.py",第393行,在namedtuple cls = _old_namedtuple(*args,**kwargs )TypeError:namedtuple()缺少3个必需的仅限关键字参数:'verbose','rename'和'module'
我在这做错了什么?
小智 29
Spark 2.1.0不支持python 3.6.0.要解决这个问题,请在anaconda环境中更改python版本.在你的anaconda环境中运行以下命令
conda create -n py35 python=3.5 anaconda
activate py35
Run Code Online (Sandbox Code Playgroud)
Ind*_*our 10
我使用pythons脚本中的一个更改解决了这个问题.
我在python脚本中的一段代码下面写了一个名为serializers.py的位置c:\your-installation-dir\spark-2.0.2-bin-hadoop-2.7\python\pyspark\,位于以下行,在第381行替换.
cls = _old_namedtuple(*args, **kwargs, verbose=False, rename=False, module=None)
Run Code Online (Sandbox Code Playgroud)
然后运行pyspark到你的命令行这将工作..
| 归档时间: |
|
| 查看次数: |
17753 次 |
| 最近记录: |