Bạn có thể đặt python trên github không?

Trong ví dụ này, chúng tôi trình bày cách sử dụng GitHub để tạo gói python [sử dụng pip] từ các tệp nguồn [python] khác nhau. Tệp gói đã tạo [*. hắc ín. gz] sau đó được cài đặt và chạy trên nhóm Raspberry Pis hoặc thiết bị biên nhúng của bạn

Quá trình bắt đầu bằng cách đẩy các thay đổi mã nguồn của bạn vào kho lưu trữ GitHub của bạn. Sau đó, sử dụng các tác vụ GitHub, mã nguồn của bạn được đóng gói và cuối cùng gói được đặt vào qbee của bạn. trình quản lý tệp io. Từ đó, bạn có thể phân phối và cài đặt nó trên nhóm thiết bị bạn đã chỉ định

Chúng tôi cung cấp tập lệnh thử nghiệm mẫu sử dụng gói mới được cài đặt. Là một tính năng thuận tiện, tập lệnh này cũng được phân phối cùng với gói

Nếu chúng tôi muốn xây dựng một tệp thực thi [được gọi là hi-pi] cho Raspberry Pi của mình, chúng tôi có thể sử dụng đoạn mã sau

Cách đóng gói được lấy cảm hứng từ hướng dẫn này

Cấu trúc thư mục gói¶

Để xây dựng gói

    python3 setup.py sdist
1 của riêng chúng tôi có tên là
    python3 setup.py sdist
2, chúng tôi cần cấu trúc thư mục như sau

cấu trúc tệp

py_qbee_tst/
  py_qbee_tst/
    __init__.py
    hello.py
    bye.py
  bin/
    qbee_tst.py
  setup.py

nơi các tệp nguồn của gói được đặt trong thư mục con

    python3 setup.py sdist
3. Trong thư mục
    python3 setup.py sdist
4, chúng tôi đã đặt một tập lệnh mẫu được cài đặt cùng với gói.
    python3 setup.py sdist
5 cung cấp thông tin chi tiết về gói sẽ được xây dựng

Để xây dựng gói

    python3 setup.py sdist
2 của chúng tôi để cài đặt với pip, chúng tôi chỉ cần chạy lệnh

    python3 setup.py sdist

tạo một tệp
    python3 setup.py sdist
7 chứa gói. Gói này hiện có thể được phân phối cho bất kỳ hệ thống đích nào và được cài đặt qua

    pip3 install py_qbee_tst-0.1.tar.gz

Chúng tôi sẽ tự động hóa quy trình này qua GitHub như được mô tả trong Quy trình làm việc tự động bằng GitHub. Đầu tiên chúng tôi giới thiệu dự án đồ chơi
    python3 setup.py sdist
1

Các tệp nguồn gói sẽ được xây dựng¶

Dự án đồ chơi của chúng tôi bao gồm hai tệp

    python3 setup.py sdist
1 chứa các quy trình đã thực hiện và và tệp
    pip3 install py_qbee_tst-0.1.tar.gz
0 thu thập tất cả các quy trình có liên quan

    pip3 install py_qbee_tst-0.1.tar.gz
1

    python3 setup.py sdist
4

    pip3 install py_qbee_tst-0.1.tar.gz
2

    python3 setup.py sdist
6

    pip3 install py_qbee_tst-0.1.tar.gz
0

    python3 setup.py sdist
8

Tệp thiết lập gói¶

Để tạo một gói, chúng tôi xác định tệp thiết lập

    python3 setup.py sdist
5

py_qbee_tst/
  py_qbee_tst/
    __init__.py
    hello.py
    bye.py
  bin/
    qbee_tst.py
  setup.py
0

Kiểm tra gói đã cài đặt¶

Đối với mục đích thử nghiệm, chúng tôi gửi tập lệnh cùng với gói được đặt trong thư mục

    python3 setup.py sdist
4

    pip3 install py_qbee_tst-0.1.tar.gz
6

py_qbee_tst/
  py_qbee_tst/
    __init__.py
    hello.py
    bye.py
  bin/
    qbee_tst.py
  setup.py
3

Quy trình làm việc tự động bằng GitHub¶

Tuy nhiên, chúng tôi mong muốn thiết lập quy trình làm việc tự động, nơi chúng tôi

  • sử dụng git để quản lý kiểm soát phiên bản
  • thiết lập trình chạy GitHub [sử dụng các tác vụ GitHub] để xây dựng mã của chúng tôi sau khi kích hoạt đẩy
  • sao chép gói đã tạo vào trình quản lý tệp
        pip3 install py_qbee_tst-0.1.tar.gz
    
    7 thông qua lệnh gọi API
  • sử dụng phân phối tệp
        pip3 install py_qbee_tst-0.1.tar.gz
    
    7 để phân phối [và cài đặt] gói trên danh sách thiết bị

Cách tạo kho lưu trữ trên GitHub

Kiểm tra tài liệu chính thức về cách tạo kho lưu trữ trên GitHub

Khi kho lưu trữ được thiết lập, trước khi tạo trình chạy, hãy thiết lập bí mật GitHub như trong ảnh chụp màn hình sau

Ở đó, chúng tôi chỉ định tên người dùng

    pip3 install py_qbee_tst-0.1.tar.gz
7
    python3 setup.py sdist
40 và mật khẩu
    python3 setup.py sdist
41 của chúng tôi, vì chúng tôi không muốn chúng bị lộ

Điều tiếp theo cần làm là tạo các hành động GitHub. Chúng chạy một tập lệnh thiết lập cụ thể trên cái gọi là người chạy. Bạn có thể sử dụng những cái do GitHub cung cấp. Ngoài ra, có thể sử dụng của riêng bạn. Nếu bạn nhấp vào "tự thiết lập quy trình làm việc", bạn có thể tạo quy trình làm việc của mình

Kịch bản chúng tôi đã sử dụng là như sau

    python3 setup.py sdist
42

    python3 setup.py sdist
0

Nhận xét về tệp yaml

  • hành động này được kích hoạt khi đẩy đến nhánh
        python3 setup.py sdist
    
    43
  • người chạy là một máy ảo có HĐH
        python3 setup.py sdist
    
    44 như chúng tôi đã chỉ định
        python3 setup.py sdist
    
    45
  • máy ảo mới này chạy
        python3 setup.py sdist
    
    46 để nhận mã từ kho lưu trữ
  •     python3 setup.py sdist
    
    47 cùng với các phụ thuộc cần thiết được thiết lập sao cho mã có thể được đóng gói
  • việc đóng gói thực tế được thực hiện thông qua
        python3 setup.py sdist
    
    48
  • một hành động GitHub tùy chỉnh đặt tệp đầu ra vào trình quản lý tệp
        pip3 install py_qbee_tst-0.1.tar.gz
    
    7 [trong hành động đó, API REST của
        pip3 install py_qbee_tst-0.1.tar.gz
    
    7 được sử dụng, c. f. phân phối tệp qua API]

Lưu ý rằng thông tin đăng nhập của bạn không bị tiết lộ khi chúng tôi sử dụng bí mật GitHub để mã hóa chúng như có thể thấy trong đầu ra hành động

Cài đặt gói trong
    pip3 install py_qbee_tst-0.1.tar.gz
7 bằng phân phối tệp¶

Cuối cùng, chúng tôi phân phối tệp gói của mình tới các thiết bị từ xa như bình thường với phân phối tệp

Lưu ý rằng việc cài đặt gói rất đơn giản. Sử dụng

    python3 setup.py sdist
62 [do chúng ta cài đặt cho
    python3 setup.py sdist
47] nên không cần giải nén gói
    python3 setup.py sdist
7 đã tạo. Thông qua lệnh

    python3 setup.py sdist
3

gói
    python3 setup.py sdist
2 với phiên bản
    python3 setup.py sdist
66 được cài đặt trên toàn cầu và cờ
    python3 setup.py sdist
67 gây ra một bản cập nhật nếu gói đã được cài đặt. Tập lệnh thử nghiệm
    pip3 install py_qbee_tst-0.1.tar.gz
6 được đặt trong thư mục bin của cấu trúc thư mục mã nguồn của bạn cũng được cài đặt trên toàn cầu trong thư mục
    python3 setup.py sdist
69. Do đó, chúng tôi thêm lệnh chạy

    python3 setup.py sdist
0

vào lệnh cài đặt ở trên. Chúng tôi chuyển đầu ra thành
    python3 setup.py sdist
80 với người dùng
    python3 setup.py sdist
81 để tạo tệp đầu ra với chủ sở hữu
    python3 setup.py sdist
81. Như chúng ta có thể thấy từ đầu ra, tập lệnh cài đặt và thử nghiệm đã hoạt động

So sánh với tập lệnh được trình bày trong Kiểm tra gói đã cài đặt

triển khai tự động

Sử dụng quy trình công việc này, mỗi khi bạn đẩy các thay đổi mã của mình vào kho lưu trữ, tệp gói sẽ luôn được thay thế trong trình quản lý tệp

    pip3 install py_qbee_tst-0.1.tar.gz
7. Khi tải lên tệp mới, phân phối tệp
    pip3 install py_qbee_tst-0.1.tar.gz
7 được kích hoạt cùng với lệnh chạy mà bạn đã cung cấp [là gói cài đặt cùng với tập lệnh kiểm tra]

Do đó, tất cả các thiết bị cạnh của bạn được cập nhật bằng một lệnh git push đơn giản. ]

phiên bản gói

Để dễ trình bày, chúng tôi đã mã hóa cứng cài đặt phiên bản

    python3 setup.py sdist
66 của gói
    python3 setup.py sdist
2 tùy chỉnh của chúng tôi. Tất nhiên, người ta có thể thay đổi thiết lập sao cho phiên bản mới nhất luôn được cài đặt thay thế phiên bản cũ hơn

Chủ Đề