2012-06-08 22 views
46

Tôi đang cố gắng để virtualenv hoạt động với vỏ cá. Tôi đã cài đặt virtualenv và nó hoạt động tốt với bash và zsh. Tuy nhiên, chạy lệnh sau trả về fish: Unknown command 'source':Cách để virtualenv làm việc với vỏ cá

$ source ~/path/to/bin/activate 

Có ai biết cách để virtualenv và vỏ cá hoạt động cùng nhau không. Cảm ơn trước.

+2

Tôi đã bắt đầu sử dụng https://github.com/adambrenecki/virtualfish hoạt động rất tốt cho các dự án của tôi. –

Trả lời

81

Bạn không cần phải kích hoạt để sử dụng virtualenv nó là một tiện lợi. Bạn chỉ có thể sử dụng virtualenv trực tiếp:

virtualenv venv 
./venv/bin/pip install foo 

Các bạn đã cố gắng từ cá sử dụng:

. venv/bin/activate.fish 

Nó có lẽ không phải là rộng rãi sử dụng như bash như vậy có thể có vấn đề - nhìn vào lịch sử cam kết hiển thị sửa chữa gần đây:

https://github.com/pypa/virtualenv/commits/develop/virtualenv_embedded/activate.fish

+0

Cảm ơn. Tôi đã thử 'active.fish', nhưng tôi đã neeed để cập nhật virtualenv lên phiên bản mới nhất để làm cho nó hoạt động. – drbunsen

+0

Nếu bạn gặp các lỗi cụ thể, vui lòng gửi tại http://github.com/pypa/virtualenv Bộ theo dõi vấn đề –

+1

Hoạt động hoàn hảo cho tôi – Lee

2

Nếu bạn không thể sử dụng activate.fish, bạn chỉ có thể thêm các thư mục bin-PATH của bạn:

set -gx PATH /path/to/virtualenv/bin $PATH 

Đó là khá nhiều tất cả activate.fish làm (tốt, không hoàn toàn, nó cũng unsets PYTHONHOME, (mà đã không được thiết lập trước khi tôi thử nó dù sao, YMMV); và nó cố gắng gây rối với fish_prompt) của bạn.

Cách khác: Tôi là một cựu người dùng Bash đã bắt đầu sử dụng Cá và bỏ lỡ số virtualenvwrapper của Doug Hellman, vì vậy hôm nay tôi bắt đầu làm việc trên a replacement called virtualfish - nó có một số phím tắt tiện dụng mà bạn có thể thấy hữu ích. hoàn thành như VEW.

0

(chủ đề này có vẻ gần như bị đóng cửa, nhưng tôi tìm thấy một giải pháp :)

Để nhập một vỏ cá mới với venv envrionment:

begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end 

khi thư mục venv là ./venv.

Để hủy kích hoạt, chỉ cần ctrl-d hoặc exit.


Một giải pháp khác, không gọi vỏ con.

Make và nhập envrionment venv:

python3 -m venv ./venv 
set -lx PATH (realpath ./venv)/bin $PATH 

Thoát khỏi envrionment:

set -lx PATH $PATH[2..-1] 
Các vấn đề liên quan