Почему у моего zsh эти тексты при запуске? - PullRequest
0 голосов
/ 20 июня 2019

Я устанавливал RoR на днях, и когда я открыл свой iterm2, это было при запуске: enter image description here

Это на моем .bash_profile

# Setting PATH for Python 3.7
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"

export WORKON_HOME=$HOME/.virtualenv
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenv
alias python='/usr/local/bin/python3'
echo 'export PATH="/usr/local/sbin:$PATH"'
alias q='exit'

echo 'export PATH="/usr/local/sbin:$PATH"'
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export GEM_HOME=~/.ruby

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"


export PATH=/Users/highcenoid/gems/bin:/usr/local/opt/sqlite/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

На моем .zshrc:

export PATH=$HOME/bin:/usr/local/bin:$PATH
export ZSH="/Users/user/.oh-my-zsh"
ZSH_THEME="powerlevel9k/powerlevel9k"
DISABLE_AUTO_TITLE="true"
ENABLE_CORRECTION="true"
plugins=(git django npm node pip python yarn brew virtualenv)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status virtualenv)
source $ZSH/oh-my-zsh.sh
export MANPATH="/usr/local/man:$MANPATH"
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.zsh
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.zsh
[[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh ]] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.zsh
export DEFAULT_USER="$(whoami)"
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
export PATH="$PATH:$HOME/.rvm/bin"

Это мой virtualenv

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 
'virtualenv==16.4.3','console_scripts','virtualenv'
__requires__ = 'virtualenv==16.4.3'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==16.4.3', 'console_scripts', 
'virtualenv')()
    )

Что еще мне нужно показать?

1 Ответ

0 голосов
/ 22 июня 2019

Что происходит?

Ваш .zshrc выглядит нормально, но проблема в вашем .bash_profile.Файлы конфигурации оболочки - это просто сценарии оболочки, запускаемые при запуске оболочки.И в этой строке .bash_profile

source /usr/local/bin/virtualenv

содержимое файла virtualenv включено в скрипт оболочки (source аналогично include или import на других языках).И включение любого другого языкового источника в сценарий оболочки всегда вызовет ошибки.

Почему?

Я не знаю, как virtualenv должен быть установлен и инициирован, но этоочевидно неправильно.Моим первым предположением было бы, что virtualenv должен быть сценарием оболочки, но что-то перезаписало его содержимым Python.Или - virtualenv с содержимым все в порядке, но его не следует инициировать, поставив его в .bash_profile, а выполнив там.

ОК, но как мне это исправить?

Ничего не поделаешь, если мое первое предположение верно.Может быть, переустановка связанных с virtualenv вещей может помочь.

Но во втором случае - измените упомянутую выше строку source на

/usr/local/bin/virtualenv

сохранить файл, и это должно сделатьтрюк.Это говорит не включать virtualenv, а выполнять его.

PS.export PATH = ...

Последние две строки

export PATH="/usr/local/sbin:$PATH"
export PATH="/usr/local/sbin:$PATH"

отображаются, потому что снова ваш .bash_profile говорит об этом.Есть две строки: 9 и 12

echo 'export PATH="/usr/local/sbin:$PATH"'

echo, как печать на других языках.Так что это говорит оболочке печатать некоторые статические строки.Если вам это не нравится, вы можете удалить эти строки или поставить # перед ними, чтобы закомментировать их.

...