Khi tôi cố gắng cài đặt vào mô -đun luồng trong Python3, lỗi xảy ra:
Could not find a version that satisfies the requirement threading [from versions: ]
Không tìm thấy phân phối phù hợp nào cho chuỗi tôi đã được thử những thứ này để cài đặt:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
Tôi đã bị thử những thứ này. Và bốn lần đầu tiên xảy ra:
Could not find a version that satisfies the requirement thread [from versions: ]
No matching distribution found for thread
và hai cuối cùng
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3-threading[or thread]
Tôi có thể làm gì để cài đặt mô -đun đó.
Chủ đề là một tập hợp các nhà trang trí, bao gồm các chức năng trong: concurrent.futures.ThreadPool threading.Thread asyncio.task trong Python 3. Tại sao? Bởi vì sao chép-dán của loop.create_task, Threading.Thread và thread_pool.submit là nhàm chán, đặc biệt là nếu các chức năng đích được sử dụng theo cách này.
Pros:
Phần mềm miễn phí: Giấy phép Apache
Nguồn mở: //github.com/python-usteful-helpers/threaded
Pypi Đóng gói: //pypi.python.org/pypi/threaded
Đã kiểm tra: Xem Bages trên đầu
Hỗ trợ nhiều phiên bản Python:
Python 3.4 Python 3.5 Python 3.6 Python 3.7 PyPy3 3.5+
Decorators:
ThreadPooled - Bản gốc đồng thời.futures.ThreadPool.concurrent.futures.ThreadPool.
ThreadPooled là bí danh cho ThreadPooled.
Chủ đề - Bao bọc trong luồng.Thread.threading.Thread.
Chủ đề là bí danh cho luồng.
Asynciotask - bọc trong asyncio.task. Sử dụng cùng một API, như ThreadPooled.asyncio.Task. Uses the same API, as ThreadPooled.
Asynciotask là bí danh cho Asynciotask.
Cách sử dụng
ThreadPooled
Chủ yếu là người được yêu cầu trang trí: Gửi chức năng cho ThreadPoolExecutor khi gọi.
threaded.ThreadPooled.configure[max_workers=3]
@threaded.ThreadPooled
def func[]:
pass
concurrent.futures.wait[[func[]]]
Python 3.5+ Sử dụng với Asyncio:
loop = asyncio.get_event_loop[]
@threaded.ThreadPooled[loop_getter=loop, loop_getter_need_context=False]
def func[]:
pass
loop.run_until_complete[asyncio.wait_for[func[], timeout]]
Python 3.5+ Sử dụng với trích xuất Asyncio và Loop từ các đối số cuộc gọi:
loop_getter = lambda tgt_loop: tgt_loop
@threaded.ThreadPooled[loop_getter=loop_getter, loop_getter_need_context=True] # loop_getter_need_context is required
def func[*args, **kwargs]:
pass
loop = asyncio.get_event_loop[]
loop.run_until_complete[asyncio.wait_for[func[loop], timeout]]
Trong quá trình tắt ứng dụng, nhóm có thể được dừng lại [trong khi nó sẽ được tạo lại tự động, nếu một số thành phần sẽ yêu cầu].
threaded.ThreadPooled.shutdown[]
Chủ đề
Chủ đề cổ điển.thread. Hữu ích cho việc chạy cho đến khi đóng và tự đóng các chủ đề mà không quay lại.threading.Thread. Useful for running until close and self-closing threads without return.
Ví dụ sử dụng:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
0Không có đối số, tên luồng sẽ sử dụng mẫu: 'Chủ đề:' + func .__ name__'Threaded: ' + func.__name__
Tên ghi đè có thể là Don thông qua đối số tương ứng:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
1Chủ đề có thể tự động được daemon hóa:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
2Ngoài ra, nếu không có bất kỳ thao tác bổ sung nào được mong đợi trước khi bắt đầu, nó có thể được bắt đầu tự động trước khi trả lại:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
3Asynciotask
Bọc trong asyncio.task.asyncio.Task.
Cách sử dụng với Asyncio:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
4Cung cấp vòng lặp sự kiện trực tiếp:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
5Việc sử dụng với trích xuất vòng lặp từ các đối số cuộc gọi:
pip3 install threading
pip3 install thread
python3 -m pip install threading
python3 -m pip install thread
sudo apt-get install python3-threading
sudo apt-get install python3-thread
6Kiểm tra
Cơ chế kiểm tra chính cho gói được sử dụng là TOX. Môi trường có sẵn có thể được thu thập thông qua TOX -L
Hệ thống CI
Để kiểm tra mã, một số hệ thống CI được sử dụng song song:
Travis CI: được sử dụng để kiểm tra: PEP8, pylint, tên cướp, khả năng cài đặt và kiểm tra đơn vị. Ngoài ra, nó xuất bản phạm vi bảo hiểm trên Coveralls.
Các hành động của GitHub: được sử dụng để kiểm tra: PEP8, pylint, tên cướp, khả năng cài đặt và kiểm tra đơn vị.
Coveralls: được sử dụng để hiển thị bảo hiểm.
Hệ thống CD
Travis CI: Được sử dụng để giao hàng gói trên PYPI.