«TypeError: требуется целое число (получено байтов типа)» при импорте pyspark в Python 3.8 - PullRequest
2 голосов
/ 17 февраля 2020
  1. Создана среда conda:
conda create -y -n py38 python=3.8
conda activate py38
Установленная искра из пипса:
pip install pyspark
# Successfully installed py4j-0.10.7 pyspark-2.4.5
Попробуйте импортировать pyspark:
python -c "import pyspark"

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/__init__.py", line 51, in <module>
    from pyspark.context import SparkContext
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/context.py", line 31, in <module>
    from pyspark import accumulators
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/accumulators.py", line 97, in <module>
    from pyspark.serializers import read_int, PickleSerializer
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/serializers.py", line 72, in <module>
    from pyspark import cloudpickle
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/cloudpickle.py", line 145, in <module>
    _cell_set_template_code = _make_cell_set_template_code()
  File "/Users/dmitrii_deriabin/anaconda3/envs/py38/lib/python3.8/site-packages/pyspark/cloudpickle.py", line 126, in _make_cell_set_template_code
    return types.CodeType(
TypeError: an integer is required (got type bytes)


Похоже, Pyspark поставляется с предварительно упакованной версией пакета cloudpickle, в котором были некоторые проблемы с Python 3.8, которые теперь разрешено (по крайней мере, начиная с версии 1.3.0) в версии pip, однако версия Pyspark все еще не работает. Кто-нибудь сталкивался с той же проблемой / имел счастье решить эту проблему?

1 Ответ

1 голос
/ 17 февраля 2020

вы вызываете pyspark на python 3.8, поэтому вы должны установить pyspark, используя pip3 вместо pip

...