Score:2

ข้อผิดพลาด "/usr/bin/python: ไม่มีโมดูลชื่อ virtualenvwrapper" เมื่อเปิดเทอร์มินัล

ธง th

ฉันใช้ Ubuntu 20.04 (การติดตั้งใหม่ทั้งหมด ฉันไม่ได้อัปเกรดจากรุ่นก่อนหน้า) และเมื่อฉันเปิดเทอร์มินัลใหม่ (เพียงแค่ Ctrl+Alt+) จะเริ่มต้นด้วยผลลัพธ์ที่แสดงด้านล่างเสมอ (แสดงในภาพหน้าจอต่อไปนี้ด้วย):

/usr/bin/python: ไม่มีโมดูลชื่อ virtualenvwrapper
virtualenvwrapper.sh: มีปัญหาในการใช้งาน hooks การเริ่มต้น

หาก Python ไม่สามารถนำเข้าโมดูล virtualenvwrapper.hook_loader
ตรวจสอบว่าได้ติดตั้ง virtualenvwrapper แล้ว
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python และ PATH นั้นคือ
ตั้งอย่างถูกต้อง
/usr/bin/python: ไม่มีโมดูลชื่อ virtualenvwrapper
virtualenvwrapper.sh: มีปัญหาในการใช้งาน hooks การเริ่มต้น

หาก Python ไม่สามารถนำเข้าโมดูล virtualenvwrapper.hook_loader
ตรวจสอบว่าได้ติดตั้ง virtualenvwrapper แล้ว
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python และ PATH นั้นคือ
ตั้งอย่างถูกต้อง
daniel@daniel-Inspiron-5482:~$

ขั้วที่ไม่ชัดเจน

แน่นอนฉันได้พยายามดำเนินการรีเซ็ตและรีบูตแล้ว

ในอดีตฉันเคยมีปัญหากับเส้นทางเหล่านี้ ดังนั้นคำสั่งที่ฉันดำเนินการเพื่อแก้ไขเส้นทางคือ:

ส่งออก VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
ส่งออก VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv

นี่คือของฉัน ~/.bashrc:

# ~/.bashrc: ดำเนินการโดย bash(1) สำหรับเชลล์ที่ไม่ได้เข้าสู่ระบบ
# ดู /usr/share/doc/bash/examples/startup-files (ในแพ็คเกจ bash-doc)
# ตัวอย่าง

#ถ้าไม่โต้ตอบก็อย่าทำอะไรเลย
กรณี $- ใน
    *ผม*) ;;
      *) กลับ;;
เอสแซค

# อย่าใส่บรรทัดที่ซ้ำกันหรือบรรทัดที่ขึ้นต้นด้วยช่องว่างในประวัติ
# ดู bash(1) สำหรับตัวเลือกเพิ่มเติม
HISTCONTROL=ละเว้นทั้งคู่

# ต่อท้ายไฟล์ประวัติอย่าเขียนทับ
ช็อป - s histappend

# สำหรับการตั้งค่าความยาวของประวัติ ดูที่ HISTSIZE และ HISTFILESIZE ใน bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# ตรวจสอบขนาดหน้าต่างหลังจากแต่ละคำสั่ง และถ้าจำเป็น
# อัปเดตค่าของ LINES และ COLUMNS
shopt -s ตรวจสอบขนาด

# หากตั้งค่า รูปแบบ "**" ที่ใช้ในบริบทการขยายชื่อพาธจะ
# จับคู่ไฟล์ทั้งหมดและไดเร็กทอรีและไดเร็กทอรีย่อยเป็นศูนย์หรือมากกว่า
#shopt -s globstar

# ทำให้เป็นมิตรกับไฟล์ที่ไม่ใช่ข้อความน้อยลง ดูที่ lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/shlesspipe)"

# ตั้งค่าตัวแปรที่ระบุ chroot ที่คุณทำงาน (ใช้ในพรอมต์ด้านล่าง)
ถ้า [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; แล้ว
    debian_chroot=$(แมว /etc/debian_chroot)
ไฟ

# ตั้งค่าพรอมต์แฟนซี (ไม่ใช่สีเว้นแต่เราจะรู้ว่าเราต้องการสี)
กรณี "$TERM" ใน
    xterm-สี|*-256สี) color_prompt=ใช่;;
เอสแซค

# uncomment สำหรับพรอมต์สี หากเทอร์มินัลมีความสามารถ หัน
# ปิดตามค่าเริ่มต้นเพื่อไม่ให้ผู้ใช้เสียสมาธิ: โฟกัสในหน้าต่างเทอร์มินัล
# ควรอยู่ที่เอาต์พุตของคำสั่ง ไม่ใช่บนพรอมต์
#force_color_prompt=ใช่

ถ้า [ -n "$force_color_prompt" ]; แล้ว
    ถ้า [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; แล้ว
    # เรามีการสนับสนุนสี ถือว่าเป็นไปตาม Ecma-48
    # (ISO/IEC-6429) (การขาดการสนับสนุนนั้นหายากมาก เป็นต้น
    # กรณีมีแนวโน้มที่จะสนับสนุน setf มากกว่า setaf)
    color_prompt=ใช่
    อื่น
    color_prompt=
    ไฟ
ไฟ

ถ้า [ "$color_prompt" = ใช่ ]; แล้ว
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\ [\033[00m\]\$ '
อื่น
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
ไฟ
ยกเลิกการตั้งค่า color_prompt force_color_prompt

# ถ้าเป็น xterm ให้ตั้งชื่อเรื่องเป็น user@host:dir
กรณี "$TERM" ใน
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
เอสแซค

# เปิดใช้งานการรองรับสีของ ls และเพิ่มนามแฝงที่สะดวก
ถ้า [ -x /usr/bin/dircolors ]; แล้ว
    ทดสอบ -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    นามแฝง ls='ls --color=auto'
    #นามแฝง dir='dir --color=auto'
    #นามแฝง vdir='vdir --color=auto'

    นามแฝง grep='grep --color=auto'
    นามแฝง fgrep='fgrep --color=auto'
    นามแฝง egrep='egrep --color=auto'
ไฟ

# คำเตือนและข้อผิดพลาด GCC สี
#ส่งออก GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# นามแฝง ls อื่น ๆ
นามแฝง ll='ls -alF'
นามแฝง la='ls -A'
นามแฝง l='ls -CF'

# เพิ่มนามแฝง "การแจ้งเตือน" สำหรับคำสั่งที่ใช้เวลานาน ใช้เช่นนั้น:
# นอน 10; เตือน
นามแฝง alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/ ^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# คำจำกัดความนามแฝง
# คุณอาจต้องการใส่ส่วนเพิ่มเติมทั้งหมดของคุณลงในไฟล์แยกต่างหาก เช่น
# ~/.bash_aliases แทนที่จะเพิ่มที่นี่โดยตรง
# ดู /usr/share/doc/bash-doc/examples ในแพ็คเกจ bash-doc

ถ้า [ -f ~/.bash_aliases ]; แล้ว
    . ~/.bash_aliases
ไฟ

# เปิดใช้งานคุณสมบัติการทำให้สมบูรณ์ที่ตั้งโปรแกรมได้ (คุณไม่จำเป็นต้องเปิดใช้งาน
# สิ่งนี้หากเปิดใช้งานใน /etc/bash.bashrc และ /etc/profile แล้ว
# แหล่งที่มา /etc/bash.bashrc)
ถ้า ! ร้านค้า -oq posix; แล้ว
  ถ้า [ -f /usr/share/bash-completion/bash_completion ]; แล้ว
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; แล้ว
    . /etc/bash_completion
  ไฟ
ไฟ
# Wrapper สภาพแวดล้อมเสมือน
ที่มา /usr/local/bin/virtualenvwrapper.sh
# Wrapper สภาพแวดล้อมเสมือน
ที่มา /usr/local/bin/virtualenvwrapper.sh

# >>> conda เริ่มต้น >>>
#!! เนื้อหาภายในบล็อกนี้จัดการโดย 'conda init' !!
__conda_setup="$('/home/daniel/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
ถ้า [ $? -eq 0 ]; แล้ว
    เท่ากับ "$__conda_setup"
อื่น
    ถ้า [ -f "/home/daniel/anaconda3/etc/profile.d/conda.sh" ]; แล้ว
        . "/home/daniel/anaconda3/etc/profile.d/conda.sh"
    อื่น
        ส่งออก PATH="/home/daniel/anaconda3/bin:$PATH"
    ไฟ
ไฟ
ยกเลิกการตั้งค่า __conda_setup
# <<< conda เริ่มต้น <<<

ฉันได้ติดตั้งแพ็คเกจด้วย virtualenv และ virtualenvwrapper และปรับปรุงโดยใช้ sudo ฉลาดแต่ปัญหาก็ยังคงเกิดขึ้น

มีปัญหาอะไรกับเทอร์มินัลของฉันจริงหรือ?

Score:2
ธง ca

ปัญหาเกิดขึ้นกับรายการนี้ในของคุณ ~/.bashrc ไฟล์:

# Wrapper สภาพแวดล้อมเสมือน
ที่มา /usr/local/bin/virtualenvwrapper.sh
# Wrapper สภาพแวดล้อมเสมือน
ที่มา /usr/local/bin/virtualenvwrapper.sh
  1. มันเป็นรายการที่ซ้ำกัน คุณต้องการเพียงอันเดียว ดังนั้นให้ลบอันอื่นออก

  2. ตรวจสอบให้แน่ใจว่าเส้นทางไป virtualenvwrapper.sh เป็นคำสั่งที่ถูกต้องโดยเรียกใช้คำสั่งต่อไปนี้และแทนที่ /usr/local/bin/virtualenvwrapper.sh ด้วยเอาต์พุตของคำสั่ง:

    ซึ่ง virtualenvwrapper.sh
    

    หากเส้นทางนั้นถูกต้องแล้ว ก็เยี่ยมไปเลย! เพียงข้ามขั้นตอนนี้

  3. คุณต้องเพิ่มคำสั่งเหล่านี้ (ที่คุณพูดถึงในคำถามของคุณด้วย) ก่อน ที่มา /usr/local/bin/virtualenvwrapper.sh ในของคุณ ~/.bashrc:

    ส่งออก VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    ส่งออก VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
    

    คุณควรตรวจสอบให้แน่ใจอีกครั้งว่าเส้นทางนั้นเป็นเส้นทางที่ถูกต้อง

  4. หลังจากดำเนินการข้างต้นแล้ว ให้รีสตาร์ทเทอร์มินัลหรือเรียกใช้:

    ที่มา ~/.bashrc
    

เทอร์มินัลของคุณควรเริ่มต้นอย่างถูกต้องในขณะนี้ โดยไม่มีข้อความแสดงข้อผิดพลาด และ virtualenvwrapper ควรทำงานตามที่คาดไว้!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา