ฉันจะลบ / ลบ virtualenv ได้อย่างไร


484

ฉันสร้างสภาพแวดล้อมด้วยคำสั่งต่อไปนี้: virtualenv venv --distribute

ฉันไม่สามารถลบออกได้ด้วยคำสั่งต่อไปนี้: rmvirtualenv venv- นี่เป็นส่วนหนึ่งของvirtualenvwrapperตามที่ระบุไว้ในคำตอบด้านล่างสำหรับ virtualenvwrapper

ฉันทำlsในไดเรกทอรีปัจจุบันของฉันและฉันยังเห็น venv

วิธีเดียวที่ฉันสามารถลบได้: sudo rm -rf venv

โปรดทราบว่าสภาพแวดล้อมไม่ได้ใช้งาน ฉันใช้ Ubuntu 11.10 ความคิดใด ๆ ฉันพยายามรีบูตระบบของฉันโดยไม่มีประโยชน์


13
เพียงลบไดเรกทอรี
nathancahill

honk: sudo rmvirtualenv venv ไม่ใช่คำสั่งที่ถูกต้อง ไม่แน่ใจว่าทำไมฉันคิดว่าการรีบูตจะช่วยได้ ฉันค่อนข้างใหม่ที่จะซื่อสัตย์
sudostack

24
หมายเหตุที่rmvirtualenvมาพร้อมกับ virtualenvwrapper คุณต้องติดตั้งสิ่งนั้นเพื่อให้มันใช้งานได้
skytreader

4
โปรดทราบว่าคุณยังสามารถลบแพคเกจติดตั้งในปัจจุบันทั้งหมด แต่ให้สภาพแวดล้อมเสมือนตัวเองถ้าคุณได้ติดตั้ง $ virtualenv --clear path_to_my_venvvirtualenvwrapper: requirements.txtฉันจะใช้นี้เป็นครั้งคราวเพื่อให้แน่ใจว่าผมไม่ได้มีอะไรที่ติดตั้งด้วยตนเองเช่นการพึ่งพาเก่าไม่ได้อยู่ใน
Taylor Edmiston

1
sudoไม่ควรจะเป็นสิ่งที่จำเป็นภายใต้สถานการณ์ปกติ จุดรวมของสภาพแวดล้อมเสมือนจริงคือคุณสามารถจัดการโดยใช้บัญชีผู้ใช้ปกติของคุณ
tripleee

คำตอบ:


420

แค่นั้นแหละ! ไม่มีคำสั่งสำหรับการลบสภาพแวดล้อมเสมือนของคุณ เพียงปิดการใช้งานและกำจัดการใช้งานสิ่งประดิษฐ์ของคุณโดยการลบมันซ้ำ ๆ

โปรดทราบว่านี่เป็นสิ่งเดียวกันโดยไม่คำนึงถึงสภาพแวดล้อมเสมือนที่คุณใช้ virtualenv, venvสภาพแวดล้อมงูใหญ่pyenv, pipenvเป็นไปตามหลักการเดียวกันทั้งหมดที่นี่


14
เป็นที่น่าสังเกตว่าถ้าคุณใช้ pip เพื่อติดตั้งการพึ่งพาคุณอาจต้องการ pip ตรึงรายการการพึ่งพาและเก็บไว้ที่ไดเรกทอรีระดับบนสุด หากภายหลังคุณเลือกที่จะปรับใช้แอปพลิเคชันของคุณคุณจะไม่มีปัญหา
โทมัสแอนโทนี่

7
ทำไมเรื่องนี้ถึงได้รับการยอมรับและด้วยคะแนนเสียงจำนวนมากนี้เมื่อคำตอบที่ถูกต้องเป็นเพียงแค่ร้อง? บางทีนี่อาจเป็น virtualenvwarpper รุ่นเก่ากว่า
jsbueno

9
@jsbueno เขาใช้ virtualenv ไม่ใช่ virtualenvwrapper (ไม่ใช่โปรแกรมเดียวกัน) ในขณะนั้น virtualenv ไม่ได้มีอินเตอร์เฟสสำหรับการทำความสะอาด คุณต้องทำมันเอง
โทมัสแอนโทนี่

3
หากคุณได้สร้าง virtualenv ใน repo คอมไพล์ (และไฟล์จะไม่ถูกละเว้น):git clean -dffx
Rex Hardin

172

เพียงเพื่อสะท้อนสิ่งที่ @skytreader ได้แสดงความคิดเห็นก่อนหน้านี้rmvirtualenvเป็นคำสั่งที่ให้บริการโดยไม่virtualenvwrapper virtualenvบางทีคุณอาจไม่ได้virtualenvwrapperติดตั้ง

ดูVirtualEnvWrapper การอ้างอิงคำสั่งสำหรับรายละเอียดเพิ่มเติม


113

ใช้ rmvirtualenv

$WORKON_HOMEนำสภาพแวดล้อมใน

ไวยากรณ์:

rmvirtualenv ENVNAME

คุณต้องปิดการใช้งานก่อนที่จะลบสภาพแวดล้อมปัจจุบัน

$ rmvirtualenv my_env

การอ้างอิง: http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html


2
มีtabการสนับสนุนที่สมบูรณ์แม้กระทั่งสำหรับสิ่งนี้!
muon

13
โปรดทราบว่าคำตอบนี้ผิดเพราะ OP ไม่เคยพูดว่าพวกเขามีvirtualenvwrapper
KevinDTimm

@KevinDTimm ใช่ แต่สำหรับพวกเราที่มี virtualenvwrapper คำตอบนี้คือ 'สว่างกว่า' ใช่มั้ย!
KhoPhi

73

คุณสามารถลบการอ้างอิงทั้งหมดโดยถอนการติดตั้งซ้ำทั้งหมดแล้วลบ venv

แก้ไขรวมถึงความเห็นของ Isaac Turner

source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/

2
ฉันคิดว่าคุณหายไปdeactivateก่อนrm -r venv/
ไอแซคเทอร์เนอร์

และยิ่งทำอย่างยิ่งถ้าคุณไม่ได้แชร์ระบบpip! (ไม่เช่นนั้นคุณจะถอนการติดตั้งแพ็คเกจระบบทั้งหมดของคุณ)
orome

1
ที่จริงแล้วไม่จำเป็นต้องแยกจากกันpip uninstallถ้าคุณลบแพ็คเกจทั้งหมดออกrmไป การข้าม stepealso นั้นเพื่อหลีกเลี่ยงความเสี่ยงที่ระบุไว้ในความคิดเห็นก่อนหน้า
tripleee

33

เพียงลบสภาพแวดล้อมเสมือนออกจากระบบไม่มีคำสั่งพิเศษสำหรับมัน

rm -rf venv

1
ทำงานกับฉัน ตรวจสอบให้แน่ใจว่าได้ปิดใช้งานก่อนหากสภาพแวดล้อมเสมือนของคุณยังคงทำงานอยู่ (env เสมือนของคุณ)> ปิดการใช้งาน> rm -rf "your env เสมือน"
tthreetorch

30

จากเอกสารทางการของ virtualenv https://virtualenv.pypa.io/en/stable/userguide/

การลบสภาพแวดล้อม

การลบสภาพแวดล้อมเสมือนนั้นทำได้ง่ายๆโดยการปิดการใช้งานและลบโฟลเดอร์สภาพแวดล้อมด้วยเนื้อหาทั้งหมด:

(ENV)$ deactivate
$ rm -r /path/to/ENV

1
@ Sébastienไม่คุณไม่ควรต้องการsudoหรือสิทธิพิเศษที่คล้ายกันเว้นแต่คุณจะใช้มันเพื่อตั้งค่าสภาพแวดล้อมในตอนแรกซึ่งโดยปกติจะเป็นข้อผิดพลาด
tripleee


6

คำสั่งต่อไปนี้ใช้งานได้สำหรับฉัน

rm -rf /path/to/virtualenv

กันที่นี่, ผลข้างเคียงใด ๆ ที่ทราบของการทำเช่นนี้? ฉันเพิ่งลบvenvโฟลเดอร์
ajayramesh

ฉันไม่ได้รับผลข้างเคียงใด ๆ
Ashiq Imran

4

ฉันใช้pyenv uninstall my_virt_env_nameเพื่อลบสภาพแวดล้อมแบบ virual

หมายเหตุ: ฉันใช้ pyenv-virtualenv ติดตั้งผ่านสคริปต์การติดตั้ง


pyenvนี้จะเห็นได้ชัดที่ถูกต้องเท่านั้นถ้าคุณใช้
tripleee

3

หากคุณเป็นผู้ใช้ Windows และคุณกำลังใช้ conda เพื่อจัดการสภาพแวดล้อมใน Anaconda prompt คุณสามารถทำสิ่งต่อไปนี้:

ตรวจสอบให้แน่ใจว่าคุณปิดการใช้งานสภาพแวดล้อมเสมือนจริงหรือเริ่ม Anaconda Prompt อีกครั้ง ใช้คำสั่งต่อไปนี้เพื่อลบสภาพแวดล้อมเสมือน:

$ conda env remove --name $MyEnvironmentName

หรือคุณสามารถไปที่

C:\Users\USERNAME\AppData\Local\Continuum\anaconda3\envs\MYENVIRONMENTNAME

(นั่นคือเส้นทางไฟล์เริ่มต้น) และลบโฟลเดอร์ด้วยตนเอง


1

หากคุณเป็นผู้ใช้ windows แสดงว่าอยู่ใน C: \ Users \ your_user_name \ Envs คุณสามารถลบได้จากที่นั่น

ลองใช้คำสั่ง rmvirtualenv ชื่อสภาพแวดล้อม

ฉันพยายามด้วยพรอมต์คำสั่งดังนั้นจึงกล่าวว่าถูกลบ แต่ก็ยังคงมี ดังนั้นฉันจะลบมันด้วยตนเอง


จริงๆแล้วมันไม่จริง ตำแหน่งของสภาพแวดล้อมเสมือนจริงนั้นขึ้นอยู่กับตำแหน่งที่คุณเรียกใช้virtualenvคำสั่ง เช่นจะสร้างสภาพแวดล้อมเสมือนจริงในC:\>virtualenv my_awesome_venv C:\my_awesome_venv
เฟลิกซ์

ฉันกำลังพูดถึง virtualwrapper ความผิดพลาดของฉัน
jahmed31

1

deactivateเป็นคำสั่งที่คุณกำลังมองหา เช่นเดียวกับที่กล่าวไว้แล้วไม่มีคำสั่งสำหรับการลบสภาพแวดล้อมเสมือนของคุณ เพียงปิดการใช้งาน!


สิ่งนี้ไม่ตอบคำถาม คุณถูกต้องที่คุณไม่จำเป็นต้องทำลาย virtualenv ของคุณ แต่นั่นคือสิ่งที่ OP ต้องการให้ถาม
tripleee

1

หากคุณเป็นผู้ใช้ windows คุณสามารถลบสภาพแวดล้อมได้โดยไปที่: ที่C:/Users/username/Anaconda3/envs นี่คุณสามารถดูรายการสภาพแวดล้อมเสมือนจริงและลบสภาพแวดล้อมที่คุณไม่ต้องการอีกต่อไป


0

คุณสามารถทำตามขั้นตอนเหล่านี้เพื่อลบไฟล์ทั้งหมดที่เกี่ยวข้องกับ virtualenv แล้วติดตั้ง virtualenv อีกครั้งและใช้งาน

cd {python virtualenv folder}

find {broken virtualenv}/ -type l                             ## to list out all the links

deactivate                                           ## deactivate if virtualenv is active

find {broken virtualenv}/ -type l -delete                    ## to delete the broken links

virtualenv {broken virtualenv} --python=python3           ## recreate links to OS's python

workon {broken virtualenv}                       ## activate & workon the fixed virtualenv

pip3 install  ... {other packages required for the project}

-9

ขั้นตอนที่ 1: ลบ virtualenv virtualenvwrapper โดยคัดลอกและวางคำสั่งต่อไปนี้ด้านล่าง:

$ sudo pip uninstall virtualenv virtualenvwrapper

ขั้นตอนที่ 2: ไปที่. bashrc และลบ virtualenv และ virtualenvwrapper ทั้งหมด

เทอร์มินัลเปิด:

$ sudo nano .bashrc

เลื่อนลงและคุณจะเห็นรหัสตะโกนแล้วลบ

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

ถัดไปแหล่งที่มา. bashrc:

$ source ~/.bashrc

ขั้นตอนสุดท้าย: ไม่มีเทอร์มินัล / เชลล์ไปที่ / home และค้นหา.virtualenv(ฉันลืมชื่อดังนั้นหากการค้นหาของคุณคล้ายกับ.virtualenvหรือ.venvเพียงแค่ลบมันจะได้ผล


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