Hướng dẫn toàn diện cho người mới bắt đầu virtualenv? [đóng cửa]


356

Gần đây tôi đã nghe thấy tiếng vo vo về virtualenv và tôi rất thích thú. Nhưng tất cả những gì tôi đã nghe là một lời khen ngợi và không hiểu rõ về nó là gì hoặc làm thế nào để sử dụng nó.

Tôi đang tìm kiếm (lý tưởng) một hướng dẫn tiếp theo có thể đưa tôi từ Windows hoặc Linux mà không có Python trên đó và giải thích từng bước của (không theo thứ tự cụ thể nào):

  • tôi nên làm gì để có thể bắt đầu sử dụng virtualenv
  • lý do cụ thể tại sao sử dụng virtualenvlà một ý tưởng tốt
  • tình huống mà tôi có thể / không thể sử dụng virtualenv
  • tình huống mà tôi nên / không nên sử dụng virtualenv

Và bước qua (toàn diện) một vài tình huống mẫu của + nên đa dạng.

Vì vậy, một số hướng dẫn tốt để bao gồm những thứ này là gì? Hoặc nếu bạn có thời gian và hứng thú, có lẽ bạn có thể trả lời một vài câu hỏi ở đây. Hoặc trong câu trả lời của bạn, hoặc như một liên kết đến các hướng dẫn trả lời nó, đây là những điều tôi muốn biết.


6
Bài viết này từ dabapps làm cho các khái niệm trở nên đơn giản
suhair

Kiểm tra hướng dẫn này thepythonguru.com/python-virtualenv-guide
Cody


Là một tân binh trăn, tôi đã tìm kiếm một đoạn giới thiệu thẳng đến virtualenv (và pip) và tôi vừa trải qua điều này: [ dabapps.com/blog/int sinhtion-to-pip-and-virtualenv-python /] [1] [1]: dabapps.com/blog/int sinhtion-to-pip-and-virtualenv-python bài đăng blog tuyệt vời này đã loại bỏ tất cả sự thất vọng tôi có sau khi đọc những điều khó hiểu / gần đúng khác.
Arnaud Bouchot

Câu trả lời:


245

3
+1 Tôi đồng ý rằng chúng tốt cho người mới bắt đầu như tôi. Tôi đã chạy qua cả hai, bây giờ tôi ít nhất biết nó là gì và những điều cơ bản để có / sử dụng nó. (Thứ hai vì một số lý do giải thích activatenhưng bỏ qua deactivateo_O). Tôi vẫn hy vọng sẽ chi tiết hơn khi nào nên sử dụng nó (và khi nào không) và các ví dụ sâu hơn.
Dan Burton

1
Tôi tin rằng câu trả lời là luôn luôn sử dụng nó, giống như cách bạn nên luôn sử dụng kiểm soát phiên bản.
mlissner

1
Xin lưu ý rằng - gói trang web không được chấp nhận và hiện tại đó là hành vi mặc định.
Adrian Lopez

1
Điều này đã cho tôi một ý tưởng tốt về virtualenv. Khuyến nghị sử dụng virtualenvwrapperđã được đề cập trong phần sau của tài liệu.
gihanchanuka

2
Thật buồn cười khi về cơ bản không phải là một virtualenvhướng dẫn duy nhất trên internet, cũng không phải hướng dẫn sử dụng của virtualenv , thực sự chỉ cho bạn cách sử dụng môi trường trên tập lệnh Python của bạn. Bạn không thiết lập một môi trường chỉ vì mục đích thiết lập một môi trường. Tôi tìm thấy một hướng dẫn mà ít nhất cho bạn thấy sự thay thế .
Thức ăn gia súc

34

Virtualenv là một công cụ để tạo các môi trường Python bị cô lập .

Giả sử bạn đang làm việc trong 2 dự án khác nhau, A và B. Dự án A là một dự án web và nhóm đang sử dụng các gói sau:

  • Python 2.8.x
  • Django 1.6.x

Dự án B cũng là một dự án web nhưng nhóm của bạn đang sử dụng:

  • Python 2.7.x
  • Django 1.4.x

Máy bạn đang làm việc không có bất kỳ phiên bản django nào, bạn nên làm gì? Cài đặt django 1.4? django 1.6? Nếu bạn cài đặt django 1.4 trên toàn cầu thì có dễ dàng trỏ đến django 1.6 để làm việc trong dự án A không?

Virtualenv là giải pháp của bạn! Bạn có thể tạo 2 virtualenv khác nhau, một cho dự án A và một cho dự án B. Bây giờ, khi bạn cần làm việc trong dự án A, chỉ cần kích hoạt virtualenv cho dự án A và ngược lại.

Một mẹo tốt hơn khi sử dụng virtualenv là cài đặt virtualenvwrapper để quản lý tất cả các virtualenv mà bạn có, một cách dễ dàng. Đó là một trình bao bọc để tạo, làm việc, loại bỏ virtualenv.


1
Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
joce

2
Tôi chỉnh sửa câu trả lời và thêm giá trị cho cùng. Cảm ơn phản hồi
lborgav

8

Đây là một cái tốt khác: http://www.saltycrane.com/blog/2009/05/notes-USE-pip-and-virtualenv-django/

Cái này chỉ ra cách sử dụng pipvà một tệp yêu cầu pip với virtualenv; Hai hướng dẫn được đề xuất của Scobal đều rất hữu ích nhưng cả hai đều easy_installlệch tâm.

Lưu ý rằng không có hướng dẫn nào trong số này giải thích cách chạy phiên bản Python khác trong virtualenv - để biết câu hỏi SO này: Sử dụng phiên bản Python khác với virtualenv


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.