Chạy tệp Python dưới dạng dịch vụ Ubuntu

Bài viết này sẽ giới thiệu một khái niệm rất đơn giản nhưng thú vị và quan trọng, đó là Làm thế nào để chạy Python trong Ubuntu [Linux]? . Vì vậy, chúng ta hãy bắt đầu sau đó,

Cách chạy Python trong Ubuntu [Linux]

Nếu bạn tò mò về cách chạy Python trong Ubuntu, thì đây là một bài viết dành riêng cho nó có thể giúp ích cho bạn. Chúng tôi đang ở đây sử dụng Ubuntu Phiên bản 14. 04. Nó hỗ trợ các phiên bản Python 2 và Python 3

Vì vậy, đây là bước đầu tiên

Bước 1. Mở máy tính để bàn của bạn như thế này

Bước 2. Đi tới Tệp> Tài liệu ở phía bên trái

Bước 3. Trong các tài liệu, bạn có thể vào một thư mục mà bạn muốn lưu chương trình của mình hoặc trực tiếp tạo một chương trình ở đó

Bước 4. Nhấp chuột phải vào khu vực đó và chọn Tài liệu mới > Tài liệu trống

Bước 5. Đặt tên cho tệp của bạn bằng một. py để hệ thống có thể phát hiện nó là tệp python

Bước 6. Mở tệp của bạn và bạn sẽ thấy tệp được mở trong 'gedit'

Viết ra chương trình mong muốn của bạn trong khu vực nhất định và lưu nó

Bước 7. Mở Terminal ở góc dưới bên tay trái

Bước 8. Sau khi hoàn thành, chúng tôi phải thay đổi thư mục để chúng tôi dễ dàng truy cập để tìm nạp mã

Bước 9. Đối với điều đó, lệnh linux là cd Documents/ bất cứ nơi nào tệp của bạn được lưu

Bước 10. Sau khi hoàn tất, hãy nhập và bạn đang ở trong thư mục cụ thể đó

Bước 11. Bây giờ để chạy tệp Python của bạn, tất cả những gì bạn phải ra lệnh là 'python yourfilename. py'

Bước 12. Về cơ bản, nó báo cho thiết bị đầu cuối chạy tệp python

Bước 13. Trong trường hợp nếu bạn muốn kiểm tra xem mình đang sử dụng phiên bản Python nào, bạn có thể viết lệnh python –version

Bước 14. Thay vì sử dụng phiên bản Python 2, nếu bạn sử dụng phiên bản Python 3, bạn có thể dễ dàng thực thi nó bằng cách viết 'python3 yourfilename. py'

Bước 15. Đảm bảo rằng trong khi thực thi mã Python của bạn trong phiên bản Python 3, bạn sử dụng cú pháp theo Python 3. Thí dụ. Câu lệnh in trong Python 2 có thể có hoặc không có [ ] với các câu lệnh in nhưng trong Python 3, các câu lệnh in phải có []

Tôi hy vọng rằng bạn đã học tốt các khái niệm và do đó hãy thử nó để chính xác hơn. Điều này đưa chúng ta đến phần cuối của bài viết này về Cách chạy Python trong Ubuntu [Linux]?

Để có kiến ​​thức chuyên sâu về ngôn ngữ Lập trình Python cùng với các ứng dụng khác nhau của ngôn ngữ này, bạn có thể đăng ký khóa đào tạo Python ngay bây giờ với sự hỗ trợ 24/7 và quyền truy cập trọn đời

Có một câu hỏi cho chúng tôi?

Bài đăng này cho thấy cách bạn có thể chạy tập lệnh python trên Raspberry Pi dưới dạng dịch vụ

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
0 đang chạy Debian. Phương pháp này cũng sẽ hoạt động với máy tính xách tay hoặc máy tính chạy Ubuntu hoặc Debian. Chạy dưới dạng tập lệnh dịch vụ
[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
0 có nghĩa là tập lệnh sẽ tự động chạy khi máy khởi động và nó sẽ được khởi động lại ngay cả khi bị treo vì bất kỳ lý do gì. Về cơ bản, nó sẽ chạy mãi mãi. Tôi đã sử dụng dietpi tuyệt vời thực sự mang lại công lý nhẹ cho bạn Raspberry Pi

Phương pháp kiểm tra. bot điện tín

Chúng tôi sẽ sử dụng bot Telegram rất cơ bản để kiểm tra xem tập lệnh của chúng tôi sẽ

  1. Tự khởi động khi máy khởi động
  2. Tự động khởi động lại khi gặp sự cố/thoát vì bất kỳ lý do gì

Nếu bot còn sống, điều đó có nghĩa là phương pháp của chúng tôi hoạt động. Tất nhiên, chúng tôi cũng sẽ có thể kiểm tra trạng thái của dịch vụ thông qua

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
0, nhưng để đảm bảo… Bot này sẽ gửi cho chúng tôi một tin nhắn qua Telegram sau khi trực tuyến. Nếu bạn không quan tâm đến bot, bạn vẫn có thể sử dụng bot này cho một số tập lệnh python khác

  1. Tạo thư mục ~/Temp trên Raspberry Pi của bạn thông qua SSH
  2. Tạo một môi trường ảo trong ~/Temp [bạn có thể cần cài đặt
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    2]

    dietpi@solidsnake:~/Temp$ python3 -m venv .env
    

  3. Tải môi trường ảo.

    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    3

  4. Hãy cập nhật pip và cài đặt gói chúng tôi cần tại đây

    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    

  5. Tạo một tệp
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    4

    [.env] dietpi@solidsnake:~/Temp$ nano bot.py
    

Hãy cho bot của chúng tôi

  • Một tin nhắn trợ giúp

# -*- coding: utf-8 -*-
import telebot

# initialize the bot connection
bot = telebot.TeleBot["PUT_YOUR_BOT_TOKEN_HERE"]

# this function will send Help! if you send it the string
# `help` or `aide` 
@bot.message_handler[commands=['help', 'aide']]
def send_welcome[message]:
    text = """
Help !
"""
    bot.reply_to[message, text]

# this is how the bot is constantly listening to you messages
bot.polling[]

Để tạo bot trên mạng Telegram và nhận được

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
5 của bạn, bạn sẽ cần phải tương tác với cha của bot [đây là hướng dẫn cơ bản trong trường hợp bạn gặp khó khăn với bước này, hãy dừng lại sau phần
[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
6]. Gửi tin nhắn đến bot của bạn [hiện là shell trống] bằng tên người dùng của nó sau khi bạn tạo nó

  1. Kiểm tra kịch bản của bạn.
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    7

Nếu mọi thứ hoạt động tốt, bạn sẽ có thể gửi

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
8 tới bot của mình và bot của bạn sẽ trả lời bạn

Bây giờ hãy biến tập lệnh này thành một dịch vụ systemd

Trên Dietpi

Quan trọng

Tất cả các đường dẫn trong tập lệnh của bạn phải là đường dẫn tuyệt đối, không thể có đường dẫn tương đối trong tập lệnh của bạn. Nếu có các đường dẫn tương đối mà bạn phải giữ, bạn sẽ phải thay đổi thư mục làm việc hiện tại của mình bằng cách truy xuất

  1. Sửa đổi tập lệnh python, thêm dòng đầu tiên.
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    9 là đường dẫn đến con trăn trong môi trường ảo
  2. [.env] dietpi@solidsnake:~/Temp$ nano bot.py
    
    0 để làm cho nó có thể thực thi được, nó sẽ thực thi với con trăn mà bạn đã chỉ định ở bước trước, con trăn mà bạn đã cài đặt trong môi trường ảo của mình. Bạn có thể thử điều này bằng cách chạy trực tiếp
    [.env] dietpi@solidsnake:~/Temp$ nano bot.py
    
    1 mà không cần bất kỳ con trăn nào trước nó, nó sẽ chạy tập lệnh
  3. Nhập lệnh sau vào thiết bị đầu cuối của bạn để thêm dịch vụ
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    0

    dietpi@solidsnake:~/Temp$ python3 -m venv .env
    
    4

    Sau đó, bạn sẽ tự động được đưa đến trình soạn thảo văn bản đầu cuối. Dán nội dung sau

dietpi@solidsnake:~/Temp$ python3 -m venv .env
5

Lưu và thoát bằng cách sử dụng

[.env] dietpi@solidsnake:~/Temp$ nano bot.py
3 rồi đến
[.env] dietpi@solidsnake:~/Temp$ nano bot.py
4, tiếp theo là
[.env] dietpi@solidsnake:~/Temp$ nano bot.py
5, nếu trình chỉnh sửa thiết bị đầu cuối mặc định của bạn là
[.env] dietpi@solidsnake:~/Temp$ nano bot.py
6, nếu không, chúc may mắn

  • Lưu ý rằng ExecStart là đường dẫn trực tiếp đến tệp Python nếu bạn biến nó thành tệp thực thi bằng môi trường ảo phù hợp. Nếu không, thì bạn phải chỉ định tệp nhị phân python để thực thi nó

  • Chúng tôi phải thêm độ trễ ExecStartPre nếu không dịch vụ sẽ tiếp tục cố khởi động trước khi có internet và chúng tôi gặp lỗi này

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
0

  • Chúng tôi cũng thêm cờ Khởi động lại để systemd luôn khởi động lại tập lệnh nếu nó bị lỗi

Sử dụng

[.env] dietpi@solidsnake:~/Temp$ nano bot.py
7 để lưu và thoát khi chỉnh sửa xong

  1. Kích hoạt dịch vụ.
    [.env] dietpi@solidsnake:~/Temp$ nano bot.py
    
    8
  2. Khởi động lại, đợi trong 30 giây
  3. Hãy thử liên hệ với bot của bạn bằng
    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    8, Tất cả đều tốt
  4. SSH vào RPi của bạn
  5. Kiểm tra trạng thái dịch vụ của bạn.
    # -*- coding: utf-8 -*-
    import telebot
    
    # initialize the bot connection
    bot = telebot.TeleBot["PUT_YOUR_BOT_TOKEN_HERE"]
    
    # this function will send Help! if you send it the string
    # `help` or `aide` 
    @bot.message_handler[commands=['help', 'aide']]
    def send_welcome[message]:
        text = """
    Help !
    """
        bot.reply_to[message, text]
    
    # this is how the bot is constantly listening to you messages
    bot.polling[]
    
    0
  6. Thao túng dịch vụ của bạn

    [.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
    [.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
    
    5

  7. Hãy xác thực rằng nó sẽ thực sự khởi động lại khi gặp sự cố. Hãy thêm một chức năng vào bot của chúng ta để giết chết tập lệnh. Bằng cách giết, ý tôi là chúng ta sẽ tạo ra một lỗi để làm cho tập lệnh bị lỗi. Khi chúng tôi đang làm việc trên tập lệnh bot telegram, mỗi chức năng được tải riêng biệt, chúng tôi sẽ tạo một lỗi trong một chức năng mới và sử dụng nó để kiểm tra xem bot có khởi động lại thực sự hay không, hãy thêm phần này

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
6

Nếu bạn thử tập lệnh này [trong Môi trường ảo của bạn không phải là một dịch vụ], bạn sẽ thấy rằng tập lệnh sẽ trả về lệnh

[.env] dietpi@solidsnake:~/Temp$ pip install --upgrade pip
[.env] dietpi@solidsnake:~/Temp$ pip install pytelegrambotAPI
8, nhưng nó sẽ bị lỗi nếu bạn cố chạy
# -*- coding: utf-8 -*-
import telebot

# initialize the bot connection
bot = telebot.TeleBot["PUT_YOUR_BOT_TOKEN_HERE"]

# this function will send Help! if you send it the string
# `help` or `aide` 
@bot.message_handler[commands=['help', 'aide']]
def send_welcome[message]:
    text = """
Help !
"""
    bot.reply_to[message, text]

# this is how the bot is constantly listening to you messages
bot.polling[]
2. . Bởi vì python xem mỗi chức năng bot telegram là một chức năng riêng biệt, nên nó không kiểm tra xem tất cả các biến có tồn tại trước đó hay không, vì một biến có thể được xác định bằng một tin nhắn Telegram đến

Chủ Đề