Pyenv — переключение между версиями Python и PySpark без жесткого кодирования путей к переменным среды для PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pyenv — переключение между версиями Python и PySpark без жесткого кодирования путей к переменным среды для Python

Сообщение Anonymous »

У меня возникли проблемы с корректной работой разных версий PySpark на моем компьютере с Windows в сочетании с разными версиями Python, установленными через PyEnv.
Настройка:
  • Я установил 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
Python работает как положено:
  • Я могу переключаться между разными версиями с помощью pyenv global < version>
  • Когда я использую python --version в PowerShell, он всегда показывает версию, которую я установил ранее с помощью pyenv.
Но у меня проблемы с PySpark.
Во-первых, я не могу запустить 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, система не может найти указанный файл
Однако оба варианта работают после добавления следующих двух записей в переменную среды PATH:
  • C:\Users\ myuser\.pyenv\pyenv-win\versions\3.10.10
  • C:\Users\myuser\.pyenv\pyenv-win\versions\3.10.10\Scripts
но Мне пришлось бы «жестко запрограммировать» версию Python – а это именно то, чего я не хочу делать при использовании pyenv.< /p>
Если я жестко запрограммирую путь, даже если переключусь на другую версию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Установка «pyenv», «pyenv-virtualenv» и «pyenv-virtualenvwrapper» на MacBook с процессором M1
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • При переключении с Pyenv на Венва, что заменяет управление версиями Pyenv?
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • При переключении с Pyenv на Венва, что заменяет управление версиями Pyenv?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как динамически генерировать XSD и XML из любого файла CSV без жесткого кодирования структуры с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Unity избегает жесткого кодирования значений?
    Гость » » в форуме C#
    0 Ответы
    43 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»