2013-01-04 46 views
30

Tôi không thể tìm đúng cách để cài đặt thư mục cục bộ làm gói python bằng pip.pip cài đặt kho lưu trữ git cục bộ

(venv) C:\(...)>pip install . --no-index 
Ignoring indexes: http://pypi.python.org/simple/ 
Unpacking c:\users\fsantos\desktop\biskates.com\biskates\forks\django-pipeline 
    Running setup.py egg_info for package from file:///(...)%5Cforks%5Cdjango-pipeline 

Installing collected packages: django-pipeline 
    Running setup.py install for django-pipeline 

Successfully installed django-pipeline 
Cleaning up... 

(venv) C:\(...)>cd .. 
(venv) C:\(...)>python 
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pipeline 
>>> pipeline.__file__ 
'C:\\(...)site-packages\\pipeline\\__init__.py' 
>>> 

Như bạn có thể thấy pip vừa được sao chép qua gói đến gói trang web. Làm cách nào để tránh điều này và sử dụng gói trực tiếp từ thư mục nguồn của nó?

Tôi đang cố gắng tích hợp django-pipeline vào dự án Django của mình, nhưng tôi muốn thêm hỗ trợ cho Django 1.4 trước, vì vậy tôi đã chia đôi và nhân bản nhánh của mình.

Trả lời

5

pip hoạt động bằng cách cài đặt gói vào site-packages của bạn. Nếu bạn chỉ muốn import mô-đun của mình thường xuyên, tất cả những gì bạn phải làm là thêm đường dẫn thư mục vào biến số môi trường PYTHONPATH của bạn.

+0

Mặc dù không nếu setup.py của gói bao gồm các tiện ích cần được biên dịch –

65

Tôi cũng có thể chỉ cần sử dụng:

cd your-local-repo 
pip install -e . 

hoặc

python setup.py install develop 
+1

mục đích của tôi là chỉ để phát triển, bit này là một câu trả lời khá tốt. Điều này cũng nên làm việc trên một requirements.txt trong một virtualenv. –

+0

Giải pháp tuyệt vời! Làm cách nào để tôi gỡ cài đặt khi các thay đổi được hợp nhất vào repo chính? – ken

+1

pip gỡ bỏ cài đặt của bạn-local-repo-egg – silviomoreto

49

Nếu bạn đang làm việc trong một venv, bạn có thể làm điều này:

env/bin/pips cài đặt git + tệp: /// path/to/your/git/repo

Hoặc với chi nhánh:

env/bin/pip cài đặt git + file: /// path/to/your/git/repo @ mybranch

+1

Câu hỏi đặt ra là cài đặt một thư mục thực tế (vì tôi đã phát triển hai dự án liên quan rất chặt chẽ và tôi muốn mã trên cả hai khi gỡ lỗi), nhưng đây là lời nhắc hay về những gì có thể làm xong! –

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