gpt4 book ai didi

debugging - 如何调试 pip install

转载 作者:行者123 更新时间:2023-12-03 17:30:10 38 4
gpt4 key购买 nike

如果我想调试通过 "pip install packagename"安装的包 packagename 的 setup.py 文件,有没有办法这样做?我尝试下载源代码,在 setup.py 中添加 set_trace() 并运行:

    pip install .

但是,一旦我收到 pdb() 提示,安装就会失败并显示错误:
processing /Users/skauser/python-ibmdb/IBM_DB/ibm_db
Complete output from command python setup.py egg_info:
> /private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py(31)<module>()
-> machine_bits = 8 * struct.calcsize("P")
(Pdb)
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py", line 31, in <module>
machine_bits = 8 * struct.calcsize("P")
File "/private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py", line 31, in <module>
machine_bits = 8 * struct.calcsize("P")
File "/Library/anaconda3/lib/python3.7/bdb.py", line 88, in trace_dispatch
return self.dispatch_line(frame)
File "/Library/anaconda3/lib/python3.7/bdb.py", line 113, in dispatch_line
if self.quitting: raise BdbQuit
bdb.BdbQuit

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/

虽然我可以通过以下方式调试源代码:python setup.py build,但我想要调试的行为在通过 pip 安装时适用。

最佳答案

Pip 是一个 Python 程序。您可以通过 cat $(which pip) 看到它的内容。 .然后,您可以将其复制到项目目录中的新文件中。例如,这对我来说是这样的:
文件 mypip.py :

#!/home/jozo/d/unfurl/venv/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main


if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
然后 您可以使用 pdb 添加断 pip 或使用 PyCharm 正如 Igor Yudnikov 的回答中提到的。
作为引用,这就是它在我的 Pycharm 中的样子
enter image description here

关于debugging - 如何调试 pip install <package name>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55769962/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com