2012-07-11 26 views

Trả lời

16

Nếu bạn thực sự cần thực hiện theo cách này, bạn chỉ có thể sao chép các tệp được cài đặt trực tiếp trên toàn cầu vào virtualenv của bạn. Ví dụ tôi không thể làm việc pycurl vì các thư viện được yêu cầu không cài đặt, nhưng apt-get install python-pycurl đã làm. Vì vậy, tôi đã làm như sau:

sudo apt-get install python-pycurl 
cp /usr/lib/python2.7/dist-packages/pycurl* ~/.virtualenvs/myenv/lib/python2.7/site-packages/ 

Cài đặt cho biết đã thêm nó vào /usr/lib/python2.7. Vì vậy, tôi đã tìm trong thư mục đó cho một gói trang web hoặc các gói dist với pycurl, sau khi xem các tệp mà tôi đã sao chép chúng vào virtualenv của tôi. Bạn cũng phải sao chép bất kỳ tệp thực thi nào từ thùng rác vào thư mục bin của virtualenv của bạn.

Ngoài ra, chạy pip install -r requirements.txt tìm thấy pycurl thành công trong đó và chỉ bỏ qua nó như thể tôi đã cài đặt nó qua pip.

+0

Đúng. Tôi tìm thấy cùng một quyết định - chỉ cần một liên kết (ln s) đến các thư viện đã được cài đặt thông qua apt-get. –

+0

Điều này không làm việc cho PyQt5 trên Python 3. Trả về "ImportError: Không có mô-đun có tên 'sip' khi cố gắng nhập QWidgets – Moustache

5

Tại sao bạn muốn thực hiện việc này? Toàn bộ vấn đề là để tránh làm những thứ như thế ...

virtualenv whatever 
cd whatever 
bin/pip install dbus-python 

Bạn cũng có thể chọn để chỉ định --no-site-packages để virtualenv để giữ cho nó thêm bị cô lập.

+2

Phiên bản gần đây của virtualenv deprecate --no-site-packages, vì đây là phiên bản mặc định mới. –

+0

@ColinDunklau Không nhận thức được điều đó và tốt để biết. Cảm ơn. –

+0

Thx cho câu trả lời của bạn. Nhưng tôi có nghĩa là trường hợp vợ chồng khi chúng tôi không thể sử dụng pip cài đặt - chỉ cần có một kho lưu trữ ở định dạng .deb - những gì tôi nên làm gì sau đó? –

3

Đầu tiên cài đặt các thư viện phát triển dbus (bạn có thể cần một số thư viện dev khác, nhưng đây là tất cả những gì cần thiết)

sudo apt-get install libdbus-1-dev libdbus-glib-1-dev 

Tiếp theo, với virtualenv của bạn được kích hoạt, chạy sau. Nó sẽ thất bại nhưng đó là ok.

pip install dbus-python 

Cuối cùng, hãy vào thư mục xây dựng của virtualenv và cài đặt nó theo cách không thiên vị.

cd $VIRTUAL_ENV/build/dbus-python 
chmod +x configure 
./configure --prefix=$VIRTUAL_ENV 
make 
make install 
Các vấn đề liên quan