Установка виртуальной среды pyenv в скрипте в zsh

Я использую zsh и установил .zshrc после этого ответа. Я могу использовать pyenv в терминале.

Однако, если я вызову pyenv active из скрипта

#!/bin/zsh
pyenv activate konsole

это терпит неудачу с

Не удалось активировать virtualenv. Возможно, pyenv-virtualenv не был правильно загружен в вашу оболочку. Пожалуйста, перезапустите текущую оболочку и повторите попытку.

Что я должен делать?

Вам необходимо выполнить те же операции, что и для вашей интерактивной оболочки. Но вы также можете просто вызвать /path/to/venv/konsole/bin/python и т. д. напрямую.

tripleee 15.04.2024 13:04

Я не знаю Pyenv, но не удивлюсь, если он предоставит множество функций, например, функций или неэкспортированных переменных оболочки. Если вы поместили эти определения в свой .zshrc, вам нужно будет сообщить zsh, что он должен обрабатывать этот файл. Следовательно, в качестве первого эксперимента я бы включил #! строку вашего скрипта в #!/bin/zsh -i. Если вы не получили сообщение об ошибке, вы знаете причину и можете придумать лучший способ настройки виртуальной среды.

user1934428 15.04.2024 13:15
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
77
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Необходимо получить доступ к переменным, настроенным в .zshrc см. этот ответ, поэтому нам нужно использовать источник <имя-скрипта>

Итак, вызовите скрипт, используя:

source <script-name>

и pyenv работает

Другие вопросы по теме