Virtualenvwrapper.sh ở đâu sau khi cài đặt pip?


126

Tôi đang cố gắng thiết lập virtualenvwrapper trên OSX, và tất cả các hướng dẫn và hướng dẫn mà tôi đã tìm thấy bảo tôi thêm lệnh nguồn vào .profile, chỉ vào virtualenvwrapper.sh. Tôi đã kiểm tra tất cả các thư mục gói python và trang web và tôi không thể tìm thấy bất kỳ virtualenvwrapper.sh. Đây có phải là thứ tôi cần tải riêng không? Là pip không cài đặt chính xác?

Đây là nội dung của / L Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages / virtualenvwrapper:

hook_loader.py      hook_loader.pyc     project.py      project.pyc     user_scripts.py     user_scripts.pyc

Như bạn có thể thấy, không có virtualenvwrapper.sh. Nó đâu rồi?

Câu trả lời:


157

Bạn có thể sử dụng findlệnh để tìm kiếm tệp:

find / -name virtualenvwrapper.sh

Điều này sẽ tìm kiếm tất cả các thư mục từ thư mục gốc.


trên Ubuntu 12.04 LTS, cài đặt qua pip, nó được cài đặt để

/usr/local/bin/virtualenvwrapper.sh


trên Ubuntu 17.04, cài đặt qua pip như một người dùng bình thường, nó được cài đặt để

~/.local/bin/virtualenvwrapper.sh


83

bạn đã thử nó chưa?

$ which virtualenvwrapper.sh

Điều này hoạt động, nhưng tại sao không which virtualenvwrapperhoạt động? Không phải đó là tên của lệnh trong các biến môi trường sao?
zakdances

10
Để giúp bất kỳ ai khác hỏi cùng câu hỏi này về lý do tại sao whichkhông hoạt động, đó là vì virtualenvwrapper thực sự đang sử dụng tệp hoàn thành bash tùy chỉnh của nó để thêm các lệnh ảo hoàn toàn, trong đó virtualenvwrapperlệnh chung là một. Do đó, không có tệp vật lý nào trên ổ đĩa whichđể trỏ đến.
Tim

1
@yourfriendzak, kịch bản bash virtualenvwrapper.shcần phải có nguồn gốc trong vỏ của bạn trước khi bất kỳ lệnh ( mkvirtualenv, rmvirtualenv, vv) có sẵn, ví dụ: $ source /path/to/virtualenvwrapper.sh
tenfishsticks

Điều này nhanh hơn nhiều findnhưng cả hai đều hoạt động. Của tôi được đặt tại usr/local/binOS X.
danagerous

53

Tôi chỉ cần cài đặt lại nó với pip.

sudo pip uninstall virtualenvwrapper
sudo pip install virtualenvwrapper

Và lần này nó đặt nó vào / usr / local / bin.


Điều này làm việc cho tôi trên Ubuntu, cũng cho phép which virtualenvwrapper.shhoạt động, điều này đã không trả lại gì cho đến khi tôi làm điều này.
eddiemoya

Sau lệnh này trên Fedora 23, tôi đã tìm thấy virtualenvwrapper.sh chỉ trong usr / bin.
tomaskazemekas

1
Ban đầu đã cài đặt nó apt-getvà nó đã hạ cánh /usr/share/virtualenvwrapper/virtualenvwrapper.sh, sau đó thanh trừng nó và thực hiện thủ thuật của bạn.
Hauke

Điều này làm việc cho tôi trong Ubuntu 14.04 nếu bạn find / -name xxxx.shkhông tìm thấy gì.
alanwsx

48

Đường dẫn chính xác nơi virtualenvwrapper.sh được lưu trữ / định vị khác nhau tùy theo từng hệ điều hành . Ngay cả trong cùng một hệ điều hành, nó thay đổi từ phiên bản này sang phiên bản khác. Vì vậy, chúng tôi cần một giải pháp chung hoạt động cho tất cả các phiên bản HĐH.

Cách dễ nhất tôi đã tìm thấy con đường của nó là : Làm

pip uninstall virtualenvwrapper

Điều này sẽ nhắc xác nhận. Nói "Không" Nhưng dòng xác nhận đầu tiên hiển thị đường dẫn của virtualenvwrapper.sh (Lời nhắc đưa ra danh sách các tệp sẽ xóa, nếu bạn nói Có. Mục nhập đầu tiên trong danh sách này chứa đường dẫn đến virtualenvwrapper.sh trong máy của bạn)


Nó không làm việc cho tôi. Tôi đang sử dụng Python 2.7.14 với Virtualenv 15.1.0, virtualenvwrapper 4.8.2.
whyisyoung

@whyisyoung: nghiêm túc? bạn có thể gửi cho tôi ảnh chụp màn hình ngay sau khi bạn chạy "pip Uninstall virtualenvwrapper"
Anuj Gupta

1
Phím tắt đẹp. Tôi đang sử dụng điều này ngay cả đối với các thư viện khác. Cảm tạ!
Mahesh Vemula

15

hoặc, như tôi đã làm..chỉ cần gỡ cài đặt virtualenvwrapper

sudo pip gỡ cài đặt virtualenvwrapper

và sau đó cài đặt nó với easy_install

sudo easy_install virtualenvwrapper

lần này tôi đã tìm thấy tệp " /usr/local/bin/virtualenvwrapper.sh " đã cài đặt ... Trước đó tôi không tìm thấy tệp đó ở bất cứ đâu ngay cả bằng lệnh này

tìm / -name virtualenvwrapper.sh


11

Trên hệ điều hành Mac

which virtualenvwrapper.sh

bạn đã có

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

và bạn có thể

sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.sh

và trong của bạn .bash_profile

source /usr/local/bin/virtualenvwrapper.sh

hoặc bạn có thể

source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

7

Trong OS X 10.8.2, với Python 2.7:

/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh


7

Trong đội trưởng OSx EI, tôi đã cài đặt virtualenvwrapper là

sudo pip3 install virtualenvwrapper

, tuy nhiên tôi không thể tìm thấy virtualenvwrapper.sh /user/local/bin, cuối cùng nó đã được tìm thấy /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.shvà bạn có thể tạo một liên kết mềm đến / usr / local / bin như

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh /usr/local/bin/virtualenvwrapper.shvà mọi thứ bạn có thể làm theo hướng dẫn thiết lập như tài liệu chính thức. Chúc may mắn!


5

Đối với tôi đó là:

~/Library/Python/2.7/bin/virtualenvwrapper.sh

(Với OS X, có pip install --usercài đặt)



4

Đối với các bản phân phối dựa trên RPM (như Fedora 19), sau khi chạy sudo pip install virtualenvwrapperlệnh, bạn có thể tìm thấy tệp tại:

/usr/bin/virtualenvwrapper.sh

Trên Manjaro, vòm dựa, nó cũng được đặt dưới /usr/binthay vì /usr/local/bin. Tôi không biết tại sao.
Reuel Ribeiro

3

Đã cài đặt nó bằng pip trên Ubuntu 15.10 bằng một người dùng bình thường, nó được đặt trong ~/.local/bin/virtualenvwrapper.shđó tôi tìm thấy bằng cách chạy:

$ find / -name virtualenvwrapper.sh 2>/dev/null


2

Sử dụng

find / -name virtualenvwrapper.sh

Tôi đã nhận được TON "quyền bị từ chối" và chính xác một bản in của vị trí tệp. Tôi đã bỏ lỡ nó cho đến khi tôi tìm thấy vị trí tệp đó khi tôi gỡ cài đặt / cài đặt lại với pip.

Trong trường hợp bạn tò mò, nó đã ở trong

/usr/local/share/python/virtualenvwrapper.sh

2
để thoát khỏi 'quyền bị từ chối', bạn có thể chuyển hướng STDERR sang / dev / null. Ví dụ: $ find / -name virtualenvwrapper.sh 2> / dev / null
psycat

2

Trong trường hợp của tôi (OSX El Capitan, phiên bản 10.11.5) Tôi cần chỉnh sửa .profile như vậy:

Trong thiết bị đầu cuối:

vim ~ / .profile

export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh                                                                                   

Và sau đó tải lại hồ sơ (rằng nó sẽ có sẵn trong phiên hiện tại.)

nguồn ~ / .profile

Hy vọng nó sẽ giúp được ai đó.


2

Tôi có thể tìm thấy một cái trong macOS Mojave (10.14) khi chơi với virtualenvwrapper-4.8.4

/ L Library / Frameworks / Python.framework / Vionsions / 3.7 / bin / virtualenvwrapper.sh


1

Mặc dù đây là câu hỏi về OS X, nhưng đây là câu hỏi dành cho tôi trên Linux (Red Hat).

Virtualwrapper.sh của tôi đã ở trong

~/.local/bin/virtualenvwrapper.sh

Điều này có lẽ là do tôi đã cài đặt virtualenvwrapper cục bộ, sử dụng --usercờ ...

pip install --user virtualenvwrapper

... Như một cách thay thế cho việc sử dụng rủi rosudo pip .


1
/usr/share/virtualenvwrapper/virtualenvwrapper.sh

Tôi đã cài đặt nó trên Ubuntu 16.04 và nó đã dẫn đến vị trí này.


Điều này cũng xảy ra với tôi. :(
Siladittya

0
/usr/local/bin/virtualenvwrapper.sh

3
No such file or directoryTôi cũng duyệt thư mục / usr / local / bin và không thể tìm thấy bất cứ thứ gì có liên quan đến virtualenv hoặc virtualenvwrapper
zakdances

0

Tôi đã có cùng một vấn đề với xương đen (debian).

Tải xuống gói thủ công và cài đặt làm việc cho tôi.


0

Đối với Ubuntu
Nếu bạn vừa cài đặt nó, hãy kiểm tra đầu ra trên Terminal, tôi đang đăng bài của tôi:

Running setup.py install for virtualenv-clone    
Installing virtualenv-clone script to /home/username/.local/bin
Successfully installed virtualenvwrapper virtualenv virtualenv-clone stevedore pbr six
Cleaning up...

Ở đây dòng thứ hai cho bạn biết đường dẫn. Đối với tôi đó là tại/home/username/.local/bin


0

Pip sẽ không cố gắng gây khó khăn cho bạn trên mục đích.

Vấn đề là các tệp dựa trên lệnh luôn được cài đặt trong /bincác thư mục, chúng có thể ở bất kỳ đâu trên đường dẫn hệ thống.

Tôi đã có cùng một vấn đề và tôi thấy rằng tôi có những tập tin này trong

~/.local/bin/

thư mục thay vì

/usr/loca/bin/

đó là trường hợp phổ biến, nhưng tôi nghĩ họ đã thay đổi đường dẫn mặc định thành

~ hoặc $ HOME

thư mục vì nó tách biệt hơn cho các cài đặt pip và cung cấp sự khác biệt giữa các gói apt-get và các gói pip.

Vì vậy, đến thời điểm bạn có hai lựa chọn ở đây hoặc là bạn truy cập .bashrc của mình và thực hiện các thay đổi như thế này

# for virtualenv wrapper
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh

và hơn là tạo một thư mục virtualenvwrapper bên dưới /usr/share/và hơn symlink của bạn virtualwrapper_lazy.sh như thế này

sudo ln -s ~/.local/bin/virtualenvwrapper_lazy.sh /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

và bạn có thể kiểm tra xem lệnh workon của bạn có hoạt động hay không, nó sẽ liệt kê các virtualenv hiện có của bạn.


0

Nếu bạn thực thi pip install virtualenvwrappermà không có sudo như một pip người dùng bình thường sẽ chạy nhưng sẽ không sao chép các tệp ở các vị trí cần thiết vì thiếu quyền.

mortiz@florida:~# sudo pip3 install virtualenvwrapper

Sử dụng sudo và các tệp sẽ được tạo theo đường dẫn tương ứng của chúng:

root@florida:/usr/local/bin# ls -ltr
total 8008
-rwxr-xr-x 1 root staff 8136192 Jun 11 17:45 chromedriver
-rwxr-xr-x 1 root staff   41697 Sep  5 16:06 virtualenvwrapper.sh
-rwxr-xr-x 1 root staff    2210 Sep  5 16:06 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 root staff     215 Sep  5 16:06 pbr
-rwxr-xr-x 1 root staff     218 Sep  5 16:06 virtualenv-clone
-rwxr-xr-x 1 root staff     213 Sep  5 16:06 virtualenv
root@florida:/usr/local/bin# 

Làm việc cho tôi trên Debian GNU / Linux 9


-1

trong trường hợp của tôi: /home/username/.local/bin/virtualenvwrapper.sh


-2

Bạn đã cài đặt nó bằng sudo? Là lỗi trong trường hợp của tôi.

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.