Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

Tạo, cài đặt và chạy các gói Python bằng GitHub

Tóm lại - triển khai các ứng dụng Python của bạn từ xa

Trong ví dụ này, chúng tôi chỉ ra 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 được tạo (*.tar.gz) sau đó được cài đặt và chạy trên đội tàu Raspberry PIS hoặc các thiết bị cạnh nhúng của bạn.

Quá trình bắt đầu bằng cách đẩy các thay đổi của mã nguồn của bạn vào kho lưu trữ GitHub của bạn. Sau đó, bằng cách sử dụng các hành động GitHub, mã nguồn của bạn được đóng gói và cuối cùng gói được đặt vào trình quản lý tệp QBEE.IO của bạn. 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.source code to your GitHub repository. Then, using GitHub actions, your source code is packaged and finally the package is placed into your qbee.io file manager. From there on you can distribute and install it on the group of devices you have specified.

Chúng tôi cung cấp một tập lệnh kiểm tra 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 thực thi (được gọi là hi-pi) cho Raspberry Pi của chúng tôi, chúng tôi có thể sử dụng mã sau

Cách bao bì đượ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

    pip3 install py_qbee_tst-0.1.tar.gz
0 của riêng chúng tôi có tên là
    pip3 install py_qbee_tst-0.1.tar.gz
1, chúng tôi cần một cấu trúc thư mục như sau:

Cấu trúc tập tin

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

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

    pip3 install py_qbee_tst-0.1.tar.gz
2. Trong thư mục
    pip3 install py_qbee_tst-0.1.tar.gz
3, chúng tôi đã đặt một tập lệnh mẫu được cài đặt cùng với gói.
    pip3 install py_qbee_tst-0.1.tar.gz
4 cung cấp chi tiết về gói sẽ được xây dựng.

Để xây dựng gói của chúng tôi

    pip3 install py_qbee_tst-0.1.tar.gz
1 để cài đặt với PIP, chúng tôi chỉ cần chạy lệnh

tạo ra một tệp
    pip3 install py_qbee_tst-0.1.tar.gz
6 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 thông qua

    pip3 install py_qbee_tst-0.1.tar.gz

Chúng tôi sẽ tự động hóa quá trình này thông 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 trình bày dự án đồ chơi
    pip3 install py_qbee_tst-0.1.tar.gz
0.

Các tập tin 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

    pip3 install py_qbee_tst-0.1.tar.gz
0 có chứa các thói quen được triển khai và tệp
    pip3 install py_qbee_tst-0.1.tar.gz
9 thu thập tất cả các thói quen liên quan.

def hello():
    return (u'Hello from qbee.io')
0

def hello():
    return (u'Hello from qbee.io')

def hello():
    return (u'Hello from qbee.io')
1

def bye():
    return (u'Goodbye from qbee.io')

    pip3 install py_qbee_tst-0.1.tar.gz
9

from .hello import *
from .bye import *

Tập tin thiết lập gói

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

    pip3 install py_qbee_tst-0.1.tar.gz
4

from setuptools import setup

setup(name='py_qbee_tst',
    version='0.1',
    description='test package to run on qbee.io',
    author='qbee AS',
    author_email='',
    license='MIT',
    packages=['py_qbee_tst'],
    scripts=['bin/qbee_tst.py'],
    zip_safe=False)

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

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

    pip3 install py_qbee_tst-0.1.tar.gz
3.

def hello():
    return (u'Hello from qbee.io')
5

#!/usr/bin/env python3

import py_qbee_tst as qbee
print( qbee.hello() )
print( qbee.bye() )

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

Tuy nhiên, chúng tôi đặt mục tiêu thiết lập quy trình công việc tự động, nơi chúng tôi

  • Sử dụng git như cho quản lý kiểm soát phiên bản
  • Thiết lập một người chạy GitHub (sử dụng các hành động GitHub) để xây dựng mã của chúng tôi sau khi lực đẩy được kích hoạt
  • Sao chép gói đã tạo vào trình quản lý tệp
    def hello():
        return (u'Hello from qbee.io')
    
    6 qua các cuộc gọi API
  • Sử dụng phân phối tệp
    def hello():
        return (u'Hello from qbee.io')
    
    6 cho phân phối (và cài đặt) gói trên danh sách các 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 một kho lưu trữ được thiết lập, trước khi tạo một người chạy, thiết lập bí mật GitHub như được hiển thị trong ảnh chụp màn hình sau.

Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

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

def hello():
    return (u'Hello from qbee.io')
6 của chúng tôi
def hello():
    return (u'Hello from qbee.io')
9 và mật khẩu
def bye():
    return (u'Goodbye from qbee.io')
0, vì chúng tôi không muốn chúng được phơi bày.

Điều tiếp theo cần được thực hiện là tạo ra các hành động của 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 được cung cấp bởi GitHub. Ngoài ra, có thể sử dụng của riêng bạn. Nếu bạn nhấp vào "tự mình 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.

Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

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

def bye():
    return (u'Goodbye from qbee.io')
1

name: Upload Python Package

on:
push:
    branches: [main]

jobs:
deploy:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.x'

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install setuptools wheel

    - name: Build
      run: |
        python setup.py sdist
        echo `ls dist/`

    - name: qbee.io authentication
      uses: qbee-io/authenticate-action@v1
      id: qbee-auth
      with:
        login: ${{ secrets.USERNAME_KEY }}
        password: ${{ secrets.PASSWORD_KEY }}

    - name: qbee.io file upload
      uses: qbee-io/file-upload-action@v1
      with:
        token: ${{ steps.qbee-auth.outputs.token }}
        filename: 'py_qbee_tst-0.1.tar.gz'
        qbee_directory: '/'
        local_directory: 'dist'

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

  • Hành động này được kích hoạt dựa trên việc thúc đẩy chi nhánh
    def bye():
        return (u'Goodbye from qbee.io')
    
    2
  • Người chạy là một máy ảo có hệ điều hành
    def bye():
        return (u'Goodbye from qbee.io')
    
    3 như chúng tôi đã chỉ định
    def bye():
        return (u'Goodbye from qbee.io')
    
    4
  • Máy ảo mới này chạy
    def bye():
        return (u'Goodbye from qbee.io')
    
    5 để nhận mã từ kho lưu trữ
  • def bye():
        return (u'Goodbye from qbee.io')
    
    6 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
  • Bao bì thực tế được thực hiện thông qua
    def bye():
        return (u'Goodbye from qbee.io')
    
    7
  • Một hành động GitHub tùy chỉnh đặt tệp đầu ra vào trình quản lý tệp
    def hello():
        return (u'Hello from qbee.io')
    
    6 (trong hành động API REST
    def hello():
        return (u'Hello from qbee.io')
    
    6 được sử dụng, phân phối tệp C.F. qua API)

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

Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

Cài đặt gói trong def hello(): return (u'Hello from qbee.io') 6 bằng cách sử dụ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 chúng tôi cho các thiết bị từ xa như bình thường với phân phối tệp.

Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

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

from .hello import *
from .bye import *
1 (vì chúng tôi cài đặt nó cho
def bye():
    return (u'Goodbye from qbee.io')
6), chúng tôi không cần phải giải nén gói
    pip3 install py_qbee_tst-0.1.tar.gz
6 đã tạo. Thông qua lệnh

    pip3 install /home/pi/src/py_qbee_tst-0.1.tar.gz -U

Gói
    pip3 install py_qbee_tst-0.1.tar.gz
1 với phiên bản
from .hello import *
from .bye import *
5 được cài đặt trên toàn cầu và cờ
from .hello import *
from .bye import *
6 gây ra bản cập nhật nếu gói đã được cài đặt. Tập lệnh thử nghiệm
def hello():
    return (u'Hello from qbee.io')
5 đượ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
from .hello import *
from .bye import *
8. Do đó chúng tôi thêm lệnh chạy

     qbee_tst.py | sudo -u pi tee /home/pi/src/py_out.txt

đến lệnh cài đặt ở trên. Chúng tôi đặt đầu ra đến
from .hello import *
from .bye import *
9 với người dùng
from setuptools import setup

setup(name='py_qbee_tst',
    version='0.1',
    description='test package to run on qbee.io',
    author='qbee AS',
    author_email='',
    license='MIT',
    packages=['py_qbee_tst'],
    scripts=['bin/qbee_tst.py'],
    zip_safe=False)
0 để tạo tệp đầu ra với chủ sở hữu
from setuptools import setup

setup(name='py_qbee_tst',
    version='0.1',
    description='test package to run on qbee.io',
    author='qbee AS',
    author_email='',
    license='MIT',
    packages=['py_qbee_tst'],
    scripts=['bin/qbee_tst.py'],
    zip_safe=False)
0. Như chúng ta có thể thấy từ đầu ra, tập lệnh cài đặt và kiểm tra đã hoạt động.

Hướng dẫn how do i run python code from github? - làm cách nào để chạy mã python từ github?

So sánh với tập lệnh được trình bày trong việc thử nghiệm gói đã cài đặt

Tự động triển khai

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

def hello():
    return (u'Hello from qbee.io')
6. Khi một tệp mới tải lên, phân phối tệp
def hello():
    return (u'Hello from qbee.io')
6 được kích hoạt cùng với lệnh Run mà bạn đã cung cấp (đó là cài đặt gói 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 cách đẩy Git đơn giản :)

Phiên bản gói

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

from .hello import *
from .bye import *
5 của gói
    pip3 install py_qbee_tst-0.1.tar.gz
1 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 được cài đặt thay thế phiên bản cũ hơn.

Làm cách nào để chạy mã từ GitHub?

Trên github.com, điều hướng đến trang chính của kho lưu trữ. Trên danh sách các tập tin, nhấp vào mã. Nhấp vào Mở với GitHub Desktop để nhân bản và mở kho với GitHub Desktop. Thực hiện theo các lời nhắc trong GitHub Desktop để hoàn thành bản sao.

Bạn có thể mã hóa Python trong GitHub không?

GitHub cung cấp một quy trình công việc khởi đầu Python nên hoạt động cho hầu hết các dự án Python.Hướng dẫn này bao gồm các ví dụ mà bạn có thể sử dụng để tùy chỉnh quy trình công việc khởi động.Để biết thêm thông tin, hãy xem quy trình công việc khởi động Python.. This guide includes examples that you can use to customize the starter workflow. For more information, see the Python starter workflow.

Làm cách nào để chạy mã GitHub trong sổ ghi chép Jupyter?

Điều hướng đến Notebook >> Jupyter và mở một máy tính xách tay Jupyter.Từ thanh bên trái, nhấp vào biểu tượng phiên bản GitHub như trong hình sau.Nhấp vào Định cấu hình ngay.Trong hộp thoại Thêm mã thông báo GitHub được tạo và nhấp vào Lưu.

Làm cách nào để chạy kịch bản Python?

Để chạy các tập lệnh Python bằng lệnh Python, bạn cần mở một dòng lệnh và nhập từ python, hoặc python3 nếu bạn có cả hai phiên bản, theo sau là đường dẫn đến tập lệnh của bạn, giống như thế này: $ python3 hello.py xin chàoThế giới!Nếu mọi thứ hoạt động ổn, sau khi bạn nhấn Enter, bạn sẽ thấy cụm từ Hello World!open a command-line and type in the word python , or python3 if you have both versions, followed by the path to your script, just like this: $ python3 hello.py Hello World! If everything works okay, after you press Enter , you'll see the phrase Hello World!