小编gue*_*tli的帖子

在不需要的系统调用上引发异常

有人告诉我修复旧应用程序中的错误。

我可以重现一个错误,但是我不知道该错误会在哪个python源代码行执行。

我可以看到有关的故障strace:文件被打开,该文件不应该被打开。

我想使相关的open()linux-syscall在python解释器中引发异常。我的目标:我希望看到stacktrace能够修复该错误。

这样,我可以避免在调试器中花很多时间来遍历许多行。

换句话说:如果执行了syscall,这会导致open("/somefile", O_RDONLY) = 4python解释器的strace输出应以traceback退出。

有没有人解决?

如果您不明白我在寻找什么,请发表评论。

python debugging system-calls

4
推荐指数
2
解决办法
258
查看次数

Python3:在virtualenv中安装失败

我尝试创建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)

python pip virtualenv python-3.x

4
推荐指数
1
解决办法
696
查看次数

Celery:使用PostgreSQL而不是RabbitMQ

可以在芹菜中使用不同的消息代理吗?

例如:我想使用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/

postgresql rabbitmq celery

4
推荐指数
1
解决办法
1723
查看次数

PyCharm:重新格式化代码打破了django模板

如果我运行"重新格式化代码",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

django-templates pycharm

4
推荐指数
1
解决办法
131
查看次数

Django:Admin list_filter 变得太长

我的模型的 change_list 视图如下所示:

在此处输入图片说明

list_filter过长,无法使用在右侧获得。

有没有办法获得更有用的方法来过滤 Django 的 change_list 视图?

django django-admin

4
推荐指数
2
解决办法
1556
查看次数

Python:锁定目录

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。

python locking

4
推荐指数
1
解决办法
6484
查看次数

在调试过程中显示大字符串的结尾

在我的ABAP功能模块中,我有一个包含一些兆字节可打印字符的字符串。

在使用se80进行调试的过程中,我希望看到字符串的结尾。

如何查看字符串的最后20个字符?

debugging sap abap

4
推荐指数
1
解决办法
101
查看次数

自定义管理视图中的面包屑 (Django)

我有自定义管理视图,它工作正常,只是我想添加面包屑。

到目前为止,我只看到“开始”。但我想看到“开始> Foo”。

django-admin-breadcrumbs

我需要在模板中添加什么?

django django-admin

4
推荐指数
2
解决办法
1590
查看次数

如何使用 Django 和 Whitenoise 来服务器 favicon.ico

我对静态文件使用白噪声,效果很好。

但我怎样才能提供该/favicon.ico文件呢?

有一个名为WHITENOISE_ROOT的设置,但我不明白如何使用它。

我想保持 nginx 配置简单并通过 Gunicorn 提供所有文件

django whitenoise

4
推荐指数
1
解决办法
1381
查看次数

Sentry:交易配额已耗尽80%

我从哨兵那里收到这封邮件:

\n

Sentry:交易配额已耗尽80%

\n
\n

接近交易限额

\n

您的组织 FooBar 在当前使用期间消耗了 80% 的交易容量。请务必记住,如果您达到配额并消耗您的按需支出,任何超额交易都将被丢弃,直到您转入 2021 年 12 月 18 日之后的下一个时期。

\n
\n

我只是想使用使用哨兵来监视未捕获的异常。

\n

但似乎哨兵监视了我所有的交易。那不是我想要的。

\n

如何禁用对交易的监控,以便仅监控未捕获的异常?

\n

sentry

4
推荐指数
1
解决办法
3215
查看次数