Настройка:
- Я установил pyenv и позволил ему установить переменные среды (PYENV, PYENV_HOME, PYENV_ROOT и запись в PATH)
- Я установил Amazon Coretto Java JDK (jdk1.8.0_412) и установил переменную среды JAVA_HOME.
- Я скачал winutils.exe и Hadoop.dll отсюда и установил HADOOP_HOME< /em> переменная среды.
- Через pyenv я установил Python 3.10.10, а затем pyspark 3.4. .1
- Через pyenv я установил Python 3.8.10, а затем pyspark 3.2.1
- Я могу переключаться между разными версиями с помощью pyenv global < version>
- Когда я использую python --version в PowerShell, он всегда показывает версию, которую я установил ранее с помощью pyenv.
Во-первых, я не могу запустить PySpark через консоль PowerShell, запустив pyspark > >> Термин «pyspark» не распознается как имя командлета, функции, файла сценария.....
Что еще более досадно, мои репо-скрипты (с .venv, созданный с помощью pyenv и поэтики), также не работает:
- Caused by: java.io.IOException: Cannot run program "python3": CreateProcess error=2, The system cannot find the file specified [...] Причина: java.io.IOException: CreateProcess error=2, система не может найти указанный файл
- C:\Users\ myuser\.pyenv\pyenv-win\versions\3.10.10
- C:\Users\myuser\.pyenv\pyenv-win\versions\3.10.10\Scripts
Если я жестко запрограммирую путь, даже если переключусь на другую версию Python (pyenv global 3.8.10), как только я запускаю pyspark в Powershell, версия PySpark 3.4.1 запускается из записи среды PATH для Python 3.10.10. Я также не могу ничего сделать с Python в командной строке, поскольку он всегда указывает на жестко закодированную версию Python, независимо от того, что я делаю с pyenv.
Я надеялся, что смогу запустить < strong>PySpark 3.2.1 из Python 3.8.10, который я только что «активировал» с помощью pyenv глобально.
Что мне нужно сделать, чтобы иметь возможность переключаться между Python установки (и, следовательно, также между PySparks) с pyenv без «жесткого кодирования» путей Python?
Пример сценария PySpark:
Подробнее здесь: https://stackoverflow.com/questions/783 ... ng-environ