ข้อผิดพลาดของ bash shell:“ ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว”


17

ฉันพยายามติดตั้งVirtualenv wrapper บน Ubuntu 14.04 แต่เมื่อใดก็ตามที่ฉันเริ่มเทอร์มินัลฉันได้รับข้อผิดพลาดที่บอกว่าทุบตี:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

ฉันยังตรวจสอบสคริปต์ bashrc โดยใช้gedit ~/.bashrcแต่ไม่มีบรรทัดเช่นนั้น ไม่มีใครรู้ว่าฉันผิดที่ไหน?


คุณได้ตรวจสอบไฟล์กำหนดค่าอื่น ๆ เช่น.bash_profileและเวอร์ชั่นทั้งระบบ/etc/หรือไม่?

ใช่ฉันตรวจสอบแล้ว. bash_profile แต่ว่างเปล่าและฉันไม่รู้วิธีตรวจสอบ / etc /
Abhishek Singh

/etc/bash.bashrcควรจะมีการยกเลิกการซ่อนไฟล์ทั่วโลก

ลองดูที่แหล่งข้อมูลนี้chrisstrelioff.ws/sandbox/2014/09/04/…ซึ่งอาจช่วยให้คุณมีความคิด
vembutech

@vembutech ฉันตรวจสอบลิงก์ด้านบน แต่ไม่ได้ช่วยฉันเพิ่มเส้นทางของ virtualenvwrapper.sh ใน bashrc แล้ว แต่ฉันไม่พบเส้นทางเหมือนที่ฉันอธิบายไว้ข้างต้นในคำถามของฉัน เมื่อใดก็ตามที่ฉันลองแหล่งที่มา ~ / .bashrc มันทำให้เกิดข้อผิดพลาดข้างต้น
Abhishek Singh

คำตอบ:


20

ฉันเพิ่งมีปัญหาเดียวกันกับ Linux Mint

ไฟล์ต่อไปนี้เป็นสาเหตุของปัญหา: /etc/bash_completion.d/virtualenvwrapper

ฉันทำสำเนาสำรอง (ในกรณี) และลบออกและทุกอย่างดูเหมือนจะทำงานได้ดีในขณะนี้


1
ทำงานให้ฉัน (+1)
FractalSpace

ทำงานให้ฉันบน Ubuntu (+1)
lightsong

16

ในกรณีของฉันฉันได้ติดตั้ง virtualenvwrapper ก่อนหน้านี้โดยใช้apt-get install virtualenvwrapperและถอนการติดตั้งในภายหลังโดยใช้apt-get remove virtualenvwrapperซึ่งทำให้ไฟล์ 'การกำหนดค่า' /etc/bash_completion.d/virtualenvwrapperอยู่ด้านหลัง คำจำกัดความการเสร็จสิ้นการทุบตีนี้มีต้นกำเนิดมาจากการทุบตี (ไม่มีส่วนเกี่ยวข้องกับ. bashrc ของฉัน) และทำให้เกิดข้อความแสดงข้อผิดพลาด

ทางออกคือการทำงาน:

sudo apt-get purge virtualenvwrapper

ซึ่งลบไฟล์ทั้งหมดที่เกี่ยวข้องกับ virtualenvwrapper เหตุผลที่ฉันถอนการติดตั้งคือการใช้เวอร์ชั่นของ pip แทน (ทันสมัยมากขึ้น) ซึ่งสามารถติดตั้งได้ทั่วโลกโดยใช้:

sudo pip install virtualenvwrapper

ฉันมีปัญหานี้ใน sublime text 3 บน OSX เมื่อสร้างสคริปต์และเพื่อแก้ปัญหาฉันเพิ่งติดตั้งผ่านทาง pip ตามสถานะคำสั่งของคุณด้านบน ขอบคุณ
James Campbell

ทำงานให้ฉันใน Ubuntu 16.04
Juha Untinen

5

ปฏิบัติตามคำแนะนำเหล่านี้ฉันพบว่าข้อผิดพลาดเกิดขึ้นเมื่อทำการจัดหาสคริปต์ทุบตี virtualenvwrapper เช่น:

source /usr/local/bin/virtualenvwrapper.sh

สคริปต์อ้างอิงไฟล์/etc/bash_completion.d/virtualenvwrapperดังกล่าวโดย arcticfeather

เปิดสคริปต์โดยใช้คำสั่งต่อไปนี้:

sudo nano /etc/bash_completion.d/virtualenvwrapper

นี่คือที่มีการอ้างอิงไฟล์ที่ไม่มีอยู่ เพียงแทนที่/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.shด้วย/usr/local/bin/virtualenvwrapper_lazy.shและคุณควรจะไป!


1
ไม่ได้ผลสำหรับฉัน
FractalSpace

1

หากไม่มีคำตอบใดที่เหมาะกับตัวเองเพียงแค่สร้างไฟล์เปล่าที่ตำแหน่งที่แจ้งข้อผิดพลาดและให้ข้อมูลนั้น

ในกรณีของ OP:

sudo nano /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

และเขียน:

#!/bin/bash

บันทึกและลองเปิดเทอร์มินัลอีกครั้งทำเคล็ดลับให้ฉัน


1

คุณสามารถติดตั้งส่วนขยายเป็น virtualenv สำหรับจัดการสภาพแวดล้อม Python เสมือน ( virtualenvwrapper ) หลายแห่งใน Ubuntu 14.04 จากศูนย์ซอฟต์แวร์ Ubuntu หรือจากเทอร์มินัลโดยใช้คำสั่งต่อไปนี้:

sudo apt install virtualenvwrapper
gedit .bashrc

เพิ่มบรรทัดต่อไปนี้ในตอนท้ายของ. bashrc

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

บันทึกการเปลี่ยนแปลงเป็น. bashrc และปิด gedit แหล่งที่มา. bashrc ของคุณเพื่อให้การเปลี่ยนแปลงมีผล

cd 
source .bashrc

ไม่ได้ผลสำหรับฉัน
FractalSpace

0

ฉันหวังว่ามันจะช่วยให้ใครบางคนในกรณีของฉันฉันพยายามที่จะสร้าง virtualenv อยู่ภายในหน้าจอ ( หน้าจอ -S อะไรก็ตาม ) วิธีการแก้ปัญหาคือการปิดหน้าจอและดำเนินการคำสั่ง virtualenv อีกครั้งอยู่ข้างนอก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.