2013-05-28 36 views
6

Tôi đang cài đặt this gói vào một virtualenv sử dụng virtualenvwrapper và pip với lệnh này:gói được cài đặt thông qua pip trong sai (src) thư mục thay vì gói trang web

pip install -e git+git://github.com/mr-stateradio/django-exchange.git#egg=django_exchange-master 

Điều thú vị là các gói sau đó được đặt vào một src thư mục, và không vào thư mục site-package mà tôi đã mong đợi. Các gói phần mềm được đặt vào thư mục này:

<path-to-my-virtual-env>/testenv/src/django-exchange-master/exchange 

Thay vì điều này:

<path-to-my-virtual-env>/testenv/lib/python2.7/site-packages 

tôi giả sử cái gì là sai với pip cài đặt lệnh Tôi đang sử dụng hoặc qua các nhân setup.py của gói.

+2

LoL. Stackoverflow thực sự là một nơi tuyệt vời. Chi tiết trong câu hỏi của bạn giúp tôi giải quyết cùng một vấn đề khiến tôi gặp khó khăn hàng giờ liền. –

Trả lời

9

Tùy chọn -e yêu cầu pip cài đặt gói ở chế độ “editable”. Nếu bạn loại bỏ tùy chọn -e, pip sẽ cài đặt gói vào <venv path>/lib/Python_version/site-packages. Đừng quên loại bỏ các gói bên trong <venv path>/src, vì python tìm kiếm các gói bên trong <venv path>/src trước tiên.

pip hỗ trợ cài đặt từ Git, Mercurial, Subversion và Bazaar và phát hiện loại VCS sử dụng tiền tố url: “git +”, “hg +”, “bzr +”, “svn +”.

ví dụ

$ pip install -e git+https://git.repo/some_pkg.git#egg=SomePackage   # from git 
$ pip install -e hg+https://hg.repo/some_pkg.git#egg=SomePackage   # from mercurial 
$ pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage   # from svn 
$ pip install -e git+https://git.repo/[email protected]#egg=SomePackage # from 'feature' branch 

dự án VCS có thể được cài đặt trong chế độ chỉnh sửa (bằng cách sử dụng tùy chọn -editable) hay không.

  • Đối với cài đặt có thể chỉnh sửa, vị trí bản sao theo mặc định là <venv path>/src/SomeProject trong môi trường ảo và <cwd>/src/SomeProject để cài đặt chung. Có thể sử dụng tùy chọn –src để sửa đổi vị trí này.
  • Đối với các lần cài đặt không thể chỉnh sửa, dự án được xây dựng cục bộ trong một thư mục tạm thời và sau đó được cài đặt bình thường. `
+0

Nên là - src trong pip tôi nghĩ? 'pip install -r ./requirements.txt --no-cache --src ~/.virtualenvs/PROJECTNAME/src' – ncrmro

Các vấn đề liên quan