有人告诉我修复旧应用程序中的错误。
我可以重现一个错误,但是我不知道该错误会在哪个python源代码行执行。
我可以看到有关的故障strace:文件被打开,该文件不应该被打开。
我想使相关的open()linux-syscall在python解释器中引发异常。我的目标:我希望看到stacktrace能够修复该错误。
这样,我可以避免在调试器中花很多时间来遍历许多行。
换句话说:如果执行了syscall,这会导致open("/somefile", O_RDONLY) = 4python解释器的strace输出应以traceback退出。
有没有人解决?
如果您不明白我在寻找什么,请发表评论。
我尝试创建Python3 virtualenv并测试其中的一些Python代码:
python3 -m venv tbzuploader-py3env
cd tbzuploader-py3env
. ./bin/activate
pip install -e git+https://github.com/guettli/tbzuploader.git#egg=tbzuploader
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
Obtaining tbzuploader from git+https://github.com/guettli/tbzuploader.git#egg=tbzuploader
Cloning https://github.com/guettli/tbzuploader.git to ./src/tbzuploader
Collecting requests (from tbzuploader)
Using cached requests-2.18.4-py2.py3-none-any.whl
Collecting future (from tbzuploader)
Using cached future-0.16.0.tar.gz
Collecting urllib3<1.23,>=1.21.1 (from requests->tbzuploader)
Using cached urllib3-1.22-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests->tbzuploader)
Using cached chardet-3.0.4-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests->tbzuploader)
Using cached certifi-2017.7.27.1-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests->tbzuploader)
Using cached idna-2.6-py2.py3-none-any.whl
Building wheels for collected packages: future
Running setup.py bdist_wheel for future ... error
Complete output …Run Code Online (Sandbox Code Playgroud) 可以在芹菜中使用不同的消息代理吗?
例如:我想使用PostgreSQL而不是RabbitMQ.
AFAIK只在结果后端支持:http://docs.celeryproject.org/en/latest/userguide/configuration.html#database-backend-settings
从PostgreSQL 9.5开始SKIP LOCKED,可以实现强大的消息/工作队列.请参阅https://blog.2ndquadrant.com/what-is-select-skip-locked-for-in-postgresql-9-5/
如果我运行"重新格式化代码",PyCharm会改变这一行:
{% ajax_dialog_opener url=duplicate_url|add:'?hide_messages=true' reload_on_success=False label='FoooBaar' dialog_title='Foo foo baaar' type='link'
Run Code Online (Sandbox Code Playgroud)
重新格式化代码后:
{% ajax_dialog_opener url=duplicate_url|add:'?hide_messages=true' reload_on_success=False label='FoooBaar' dialog_title='Foo foo baaar' type='link'
data_shortcut="mod+d" %}
Run Code Online (Sandbox Code Playgroud)
但这意味着新代码被破坏了.
有没有办法阻止PyCharm突破线?
版本:PyCharm社区2018.2
AFAIK 此代码可用于锁定目录:
class LockDirectory(object):
def __init__(self, directory):
assert os.path.exists(directory)
self.directory = directory
def __enter__(self):
self.dir_fd = os.open(self.directory, os.O_RDONLY)
try:
fcntl.flock(self.dir_fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError as ex:
if ex.errno != errno.EAGAIN:
raise
raise Exception('Somebody else is locking %r - quitting.' % self.directory)
def __exit__(self, exc_type, exc_val, exc_tb):
self.dir_fd.close()
Run Code Online (Sandbox Code Playgroud)
但是根据这个问题的答案锁定目录是不可能的:Python: Lock a directory
上面的代码有什么问题?
我只需要支持当前的 linux 版本。没有 Windows、Mac 或其他 unix。
在我的ABAP功能模块中,我有一个包含一些兆字节可打印字符的字符串。
在使用se80进行调试的过程中,我希望看到字符串的结尾。
如何查看字符串的最后20个字符?
我对静态文件使用白噪声,效果很好。
但我怎样才能提供该/favicon.ico文件呢?
有一个名为WHITENOISE_ROOT的设置,但我不明白如何使用它。
我想保持 nginx 配置简单并通过 Gunicorn 提供所有文件
我从哨兵那里收到这封邮件:
\n\n\n接近交易限额
\n您的组织 FooBar 在当前使用期间消耗了 80% 的交易容量。请务必记住,如果您达到配额并消耗您的按需支出,任何超额交易都将被丢弃,直到您转入 2021 年 12 月 18 日之后的下一个时期。
\n
我只是想使用使用哨兵来监视未捕获的异常。
\n但似乎哨兵监视了我所有的交易。那不是我想要的。
\n如何禁用对交易的监控,以便仅监控未捕获的异常?
\ndjango ×3
python ×3
debugging ×2
django-admin ×2
abap ×1
celery ×1
locking ×1
pip ×1
postgresql ×1
pycharm ×1
python-3.x ×1
rabbitmq ×1
sap ×1
sentry ×1
system-calls ×1
virtualenv ×1
whitenoise ×1