Tôi đang viết ứng dụng python phụ thuộc vào một ứng dụng khác được lưu trữ trên kho lưu trữ github (không bao giờ trong pypi) vì lý do phát triển.Nhận pip để làm việc với kho git và github
Hãy gọi họ là:
- App được viết:
AppA
- App trong github:
AppB
Trong App A, setup.py giống như:
# coding=utf-8
import sys
try:
from setuptools import setup, find_packages
except ImportError:
import distribute_setup
distribute_setup.use_setuptools()
from setuptools import setup, find_packages
setup(
...
install_requires=[
# other requirements that install correctly
'app_b==0.1.1'
],
dependency_links=[
'git+https://github.com/user/app_b.g[email protected]#egg=app_b-0.1.1'
]
)
Bây giờ AppA
đang được xây dựng bởi Jenkins CI
với mỗi lần đẩy và tôi gặp lỗi vì lỗi tiếp theo bị ném:
error: Download error for git+https://github.com/user/[email protected]: unknown url type: git+https
Điều thú vị là điều này chỉ xảy ra trong Jenkins, nó hoạt động hoàn hảo trên máy tính của tôi. Tôi đã thử cả hai url SSH khác mà github cung cấp và thậm chí không được xem xét để tải xuống.
Bây giờ, AppA được bao gồm trong các tập tin yêu cầu của một dự án cũng đang được xây dựng bởi Jenkins, vì vậy cài đặt phụ thuộc bằng tay qua pip install AppA
pip install AppB
không là một lựa chọn, các phụ thuộc sẽ được tự động cài đặt bởi được bao gồm trong requirements.txt
.
Có cách nào để tạo pip và git với các url github hoạt động cùng nhau không?
Mọi trợ giúp sẽ được đánh giá cao :)
Cảm ơn bạn trước!
Bạn có chắc Jenkins sử dụng pip? Nếu có, đó có phải là phiên bản hỗ trợ tính năng này không? – wRAR
@Gerard bạn sử dụng phiên bản nào của pip? 'pip --version' sẽ cung cấp cho bạn thông tin đó. Tắt cuff, có vẻ như trước 0.8.2, không hỗ trợ lược đồ https. – jszakmeister