我用python 3.6.2写了我的程序,我想通过以下方式安装线程包:
pip install thread
但是我得到了下面的错误:
Could not find a version that satisfies the requirement thread (from versions: )
No matching distribution found for thread
也可以使用下面的命令:
pip3 install thread
但再次获得错误顶部。怎样才能修复它?
我正在寻找一个可靠的实现,使我能够使用逐步完成项目列表。
我的想法是,我希望使用一定数量的工作进程,它们将遍历一系列20+数据库密集型任务并返回结果。我希望Python从前五个项目开始,一旦完成一个任务,就开始队列中的下一个任务。
这就是我目前在没有的情况下做的事情。
for key, v in self.sources.iteritems():
# Do Stuff
我希望有一个类似的方法,但可能不需要将列表分成五个小组。这样它就会自动拾取列表中的下一项。目标是确保如果一个数据库减慢了进程,它不会对整个应用程序产生负面影响。
我有一个python应用程序(Gtk),它使用线程从某些站点获取信息并将它们写入数据库。
我在site1上有一个线程来检查新的更新,如果有更新,我会收到一个json对象(json1)。然后,我将遍历json1并将新信息插入到数据库中,在json1中,需要使用一个结果在site2中获取更多信息。我也将在object(json2) site2获得json学位。
所以情况是这样的
def get_more_info(name):
json2 = get(www.site2.com?=name....)
etc
for information in json1:
db.ins
例如,当我只使用一个进程实例化Pool时,我运行了一些Python代码并意识到:
from multiprocessing.pool import Pool
from time import sleep
def f(i):
print(i)
sleep(10)
with Pool(1) as p:
p.map(f, [i for i in range(100)])
实际上,目前正在运行五个进程。我还注意到了一个模式:如果我用1,2,3实例化Pool,.Python启动的进程数为5,6,7,.我很好奇:Pool是否使用三个过程进行管理?
python示例给出了一个如何等待排队任务完成的示例,但我不确定如何确定检索顺序。以下是代码:
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
q = Queue()
for i in range(num_worker_threads):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in source():
q.put(item)
我正在运行一个使用python和selenium的Instagram机器人。我使用bash脚本来运行带有帐户凭证(用户名、密码、hashtag等)的python脚本。我运行多个Instagram,所以我制作了这个文件的多个副本。有没有办法把它放在一个我可以点击并运行的文件中?要打开多个终端运行其分配的帐户? 我已经尝试将它们添加到一个大文件中,但直到前一个文件完成后,脚本才会运行。 另外,由于我使用的是selenium,所以在python中尝试多线程有些困难,但如果有人能告诉我可以从哪里开始,我不会介意走这条路。 #!/bin/sh
cd PycharmProjects/InstaBot
p
下面的代码有什么问题?当然,当我运行它时,它只显示了两个箭头,第一个箭头是导入线程,但是由于它给出了一个错误(没有一个模块名为“线程”),所以我将它更改为导入线程。
import threading
import turtle
def f(painter):
for i in range(3):
painter.fd(50)
painter.lt(60)
def g(painter):
for i in range(3):
painter.rt(60)
painter.fd(50)
try:
pat=
所以我有一段代码"train.py“是这样的
do something
print('log something...')
do something else
我使用的是pytorch的多处理工具箱
import torch.multiprocessing as mp
然而,要执行"train.py“的多线程,打印函数在python3下工作得很好,但在python2下就不行了。为什么?
扫描信标寻找覆盆子皮
我尝试过使用pybluez包,它找到了安装在missing.when中的gatlib gatlib的错误,它再次显示了相同的错误。
from bluetooth.ble import DiscoveryService
service = DiscoveryService()
devices = service.discover(2)
for address, name in devices.items():
print("name: {}, address: {}".format(name, address))
在程序中没有找到gatlib模
我使用的是非常标准的Threading.Event:主线程在一个循环中运行:
event.wait(60)
另一个阻塞请求,直到有应答可用,然后发起一个:
event.set()
我希望主线程选择40秒,但事实并非如此。从Python 2.7源码Lib/threading.py:
# Balancing act: We can't afford a pure busy loop, so we
# have to sleep; but if we sleep the whole timeout time,
# we'll be unresponsive. The scheme
我正在用Python编写一个多线程应用程序,遇到了一个内核时间飞涨的问题。使用perf,我发现它确实是一个自旋锁:
54.89% python [kernel.kallsyms] [k] __ticket_spin_lock
导致自旋锁定的代码如下:
for i in range(0, my_uuids_len):
while threading.active_count() >= concurrency:
time.sleep(0.1)
threading.Thread(target=read_benchmark
当我运行命令pip install django时,在go爸爸,它给了我以下错误:
我试着手动将django包复制到go爸爸的站点包中。我从我的本地机器上复制的。我把它们都删除了。(我不知道有没有剩余的东西。但是我已经检查过了)你能帮个忙吗?
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
Collecting djang
我刚刚安装了python的tabulate,以便在终端中列出我的输出。每当我尝试将表格导入到python 3.4中时,都会出现以下错误:
ImportError: No module named 'tabulate'
但是,每当我将它导入python2.7控制台时,它似乎都能正常工作。你能帮我试着让它在python3.4中工作吗?我的操作系统是linux。