2012-12-13 33 views
62

Sau khi làm theo các hướng dẫn trên Doug Hellman's virtualenvwrapper post, tôi vẫn không thể kích hoạt môi trường thử nghiệm.bash: mkvirtualenv: lệnh không tìm thấy

[[email protected] ~]$ mkvirtualenv test 
-bash: mkvirtualenv: command not found 
[[email protected] ~]$ 

Cần lưu ý rằng tôi đang sử dụng WORKON_HOME không có trong số $HOME của mình. Tôi đã thử tìm kiếm /usr/local/bin/virtualenvwrapper.sh như được hiển thị trong virtualenvwrapper installation docs, nhưng nó không tồn tại.

Tôi đang chạy CentOS 6 và python 2.6.6, nếu vấn đề này xảy ra.


# File: ~/.bash_profile 
# ... 

export WORKON_HOME="/opt/virtual_env/" 
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc" 

Trả lời

62

Giải pháp 1:

Đối với một số lý do, virtualenvwrapper.sh cài đặt trong /usr/bin/virtualenvwrapper.sh, thay vì dưới /usr/local/bin.

Sau đây trong .bash_profile tác phẩm của tôi ...

source "/usr/bin/virtualenvwrapper.sh" 
export WORKON_HOME="/opt/virtual_env/" 

tôi cài đặt dường như làm việc tốt mà không có nguồn virtualenvwrapper_bashrc

Giải pháp 2:

Ngoài ra như đã đề cập dưới đây, bạn có thể tận dụng cơ hội virtualenvwrapper.sh đã có trong số PATH của vỏ và chỉ phát hành source `which virtualenvwrapper.sh`

+1

Đặt 'WORKON_HOME' thành" ~/.virtualenvs "([giá trị mặc định] (http://virtualenvwrapper.readthedocs.org/en/latest/install.html)) cho phép đặt virtualenvs riêng –

+0

Nếu bạn cài đặt sử dụng trình quản lý gói của distro, các tệp sẽ nằm trong '/ usr/bin' thay vì'/usr/local/bin'. Nói chung, bạn không nên giả định một hoặc khác được tìm thấy; đó là một trong những lý do chúng tôi có biến 'PATH'. – tripleee

+0

Câu trả lời này được dựa trên cài đặt virtualenvwrapper với pip, đó là những gì tôi thích làm. –

32

Tôi gặp sự cố tương tự trên OS X 10.9.1 với python 2.7.5. Không có vấn đề với WORKON_HOME đối với tôi, nhưng tôi đã phải tự thêm source "/usr/local/bin/virtualenvwrapper.sh"-~/.bash_profile (hoặc ~/.bashrc trong unix) sau khi tôi chạy pip install virtualenvwrapper

+1

Bạn đã thêm nguồn theo cách thủ công "/usr/local/bin/virtualenvwrapper.sh" ở đâu? – Gregology

+1

@Gregology Tôi đã thêm dòng đó vào '~/.bash_profile'. Lưu ý rằng khi bạn lần đầu tiên thêm nó, bạn sẽ phải tải lại terminal (chạy '.bash_profile') hoặc chỉ cần chạy lệnh' source' trực tiếp từ dòng lệnh. –

+1

Sẽ rất hữu ích nếu bạn có tiêu đề với tên tệp và hiển thị tất cả nội dung để bạn không phải nhận câu hỏi tiếp theo về "bạn đã đặt nó ở đâu?" – JGallardo

21

Hãy thử:

source `which virtualenvwrapper.sh`

+4

Mặc dù đây có thể là một gợi ý có giá trị để giải quyết vấn đề, một câu trả lời thực sự cần chi tiết hơn một chút so với điều này. Vui lòng [chỉnh sửa] để giải thích cách điều này sẽ giải quyết được vấn đề. Hoặc, thay vào đó, hãy xem xét viết bài này làm nhận xét. –

+0

Điều này làm việc cho tôi bằng cách sử dụng python 2.7 trên Ubuntu 16.04 –

+0

làm việc cho tôi với Python 3.4.1! Cảm ơn! –

7

Điều kiện tiên quyết để thực hiện lệnh này -

1) pip (từ viết tắt đệ quy của P ip I nstall P ython) là một hệ thống quản lý gói được sử dụng để cài đặt và quản lý các gói phần mềm được viết bằng Python. Nhiều gói có thể được tìm thấy trong Python Package Index (PyPI).

sudo apt-get install python-pip 

2) Cài đặt môi trường ảo. Được sử dụng để tạo môi trường ảo, để cài đặt các gói và phụ thuộc của nhiều dự án được tách biệt với nhau.

sudo pip install virtualenv 

3) Cài đặt wrapper môi trường ảo About virtual env wrapper

sudo pip install virtualenvwrapper 

Sau khi cài đặt điều kiện tiên quyết bạn cần phải mang wrapper môi trường ảo thành hành động để tạo ra môi trường ảo.Sau đây là các bước -

1) thiết lập thư mục môi trường ảo trong con đường variable- export WORKON_HOME=(directory you need to save envs)

2) source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME

Như đã đề cập bởi @ Mike, nguồn 'mà virtualenvwrapper.sh` hoặc which virtualenvwrapper.sh có thể sử dụng để định vị tệp virtualenvwrapper.sh.

Tốt nhất nên đặt trên hai dòng trong ~/.bashrc để tránh thực hiện các lệnh trên mỗi khi bạn mở trình bao mới. Đó là tất cả các bạn cần phải tạo ra môi trường sử dụng mkvirtualenv

điểm cần lưu ý -

  • Dưới Ubuntu, bạn có thể cần phải cài đặt virtualenv và virtualenvwrapper như root. Đơn giản chỉ cần tiền tố lệnh trên với sudo.
  • Tùy thuộc vào quá trình được sử dụng để cài đặt virtualenv, đường dẫn đến virtualenvwrapper.sh có thể thay đổi. Tìm đường dẫn thích hợp bằng cách chạy $ find/usr -name virtualenvwrapper.sh. Điều chỉnh dòng trong tập lệnh .bash_profile hoặc .bashrc của bạn tương ứng.
Các vấn đề liên quan