Как указано в заголовке, я настраиваю pyenv для запуска python 3.8.5 в моей учетной записи на моем другом Mac. Проблемы, которые, как мне кажется, возникают из-за этой команды в моем файле ~ / .zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval"$(pyenv init-)"\nfi' >>~/.zshrc
Пока я проверил команду $ PATH, чтобы убедиться, что с ней все в порядке, и команду экспорта, но не смог решить проблему. Также попытался использовать указанную выше команду в оболочке bash с ~ / .bash_profile в конце, все еще не работает. Я не могу запустить brew bash или brew zsh из-за проблем с правом собственности.
Я следую этому руководству настроить его, если это поможет.
eval
и двойной кавычкой, а также междуinit
и тире. Могут быть и другие проблемы, но я вижу именно их. Поскольку это было неправильно добавлено к этим файлам, вам необходимо отредактировать их, чтобы устранить проблему (простой повторный запуск команды этого не сделает, он просто добавит правильную версию в дополнение к неправильной версии). - person Gordon Davisson   schedule 26.07.2020echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
)? Можете ли вы проверить, что ваш~/.zshrc
не имеет этой ошибки от предыдущего запуска этой ошибочной команды? А также не забудьте перезапустить оболочку (например,exec "$SHELL"
) после всего этого! - person errata   schedule 26.07.2020~/.zshrc
или хотя быgrep
несколько строк вокругeval
команды из того же файла, на всякий случай? Полагаю, выходаgrep -C 3 eval ~/.zshrc
должно хватить ... - person errata   schedule 26.07.2020command not found: eval
ошибки я никогда не видел: | Просто любопытно, что происходит, когда вы запускаетеeval "$(pyenv init -)"
в своей оболочке? - person errata   schedule 26.07.2020grep eval ~/.zshrc | LC_ALL=C cat -v
- person Gordon Davisson   schedule 26.07.2020M-BM-
вещь перед eval - это отображение неразрывного пробела. Вам нужно использовать редактор, чтобы удалить символ прямо перед eval. - person Gordon Davisson   schedule 26.07.2020vi
должно работать. Просто поместите курсор на символ перед eval и нажмитеx
. Кстати, это не имеет значения, но я бы также рекомендовал удалить лишние пробелы внутри двойных кавычек, то есть" $(pyenv init-) "
- ›"$(pyenv init-)"
. - person Gordon Davisson   schedule 26.07.2020