我想通过在setup.py.
我已经尝试通过以下方式指定在哪里查找依赖项dependency_links:
setup(
...
install_requires=["foo==1.0"],
dependency_links=["https://my.private.pypi/"],
...
)
Run Code Online (Sandbox Code Playgroud)
我还尝试在以下位置定义整个 URL dependency_links:
setup(
...
install_requires=[],
dependency_links=["https://my.private.pypi/foo/foo-1.0.tar.gz"],
...
)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试安装时python setup.py install,它们都不适合我。
有谁能够帮助我?
编辑:
使用第一段代码我得到了这个错误:
...
Installed .../test-1.0.0-py3.7.egg
Processing dependencies for test==1.0.0
Searching for foo==1.0
Reading https://my.private.pypi/
Reading https://pypi.org/simple/foo/
Couldn't find index page for 'foo' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for foo==1.0
error: Could not find suitable distribution …Run Code Online (Sandbox Code Playgroud) 我正在使用Tornado 4.2.1和tornadoes 2.4.1库来查询我的Elasticsearch数据库,我正在寻找一种方法来初始化多个进程服务中的多个RequestHandler实例之间共享的连接池.
有可能吗?Tornado是否有特定的库来做到这一点?
提前致谢
我有一台安装了 RabbitMQ 代理的服务器和两个 Celery 消费者(main1.py和main2.py),它们都连接到同一个代理。
在第一个消费者 ( main1.py ) 中,我实现了一个 Celery Beat,它在特定队列上多次发送不同的任务:
app = Celery('tasks', broker=..., backend=...)
app.conf.task_routes = (
[
('tasks.beat', {'queue': 'print-queue'}),
],
)
app.conf.beat_schedule = {
'beat-every-10-seconds': {
'task': 'tasks.beat',
'schedule': 10.0
},
}
@app.task(name='tasks.beat', bind=True)
def beat(self):
for i in range(10):
app.send_task("tasks.print", args=[i], queue="print-queue")
return None
Run Code Online (Sandbox Code Playgroud)
在第二个消费者(main2.py)中,我实现了上面所说的任务:
app = Celery('tasks', broker=..., backend=...)
app.conf.task_routes = (
[
('tasks.print', {'queue': 'print-queue'}),
],
)
@app.task(name='tasks.print', bind=True)
def print(self, name):
return name
Run Code Online (Sandbox Code Playgroud)
当我启动两个 Celery …
我正在尝试为 SQS 队列设置 Celery 使用者。
我将 Celery 4.1.0 与 Python3 一起使用,并以这种方式发送了带有库 boto3 (1.5.28) 的消息:
response = queue.send_message(MessageBody='Hello World')
Run Code Online (Sandbox Code Playgroud)
到目前为止一切正常。
然后我尝试以这种方式设置 Celery 消费者:
@app.task(base=celery.Task, name='test', bind=True)
def test(self, message):
print(message)
return True
Run Code Online (Sandbox Code Playgroud)
但我得到了这个回溯:
...
File ".../lib/python3.6/site-packages/kombu/transport/SQS.py", line 350, in _on_messages_ready
msg_parsed = self._message_to_python(msg, qname, queue)
File ".../lib/python3.6/site-packages/kombu/transport/SQS.py", line 215, in _message_to_python
body = base64.b64decode(message['Body'].encode())
File ".../lib/python3.6/base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
Run Code Online (Sandbox Code Playgroud)
我所做的有什么问题吗?我需要一些特定的配置来使用 SQS 队列吗?
预先感谢!
celery ×2
amazon-sqs ×1
asynchronous ×1
boto3 ×1
celerybeat ×1
consumer ×1
pip ×1
pool ×1
pypi ×1
python ×1
python-3.x ×1
rabbitmq ×1
setup.py ×1
setuptools ×1
task ×1
tornado ×1