当使用打包为可嵌入压缩文件的python和我的python应用程序(有多个)在单独的共享上的其他地方时,我可以对这些应用进行版本化,它们彼此分离,与python分离。然后,应用程序“共享”(使用)相同的python版本(可嵌入实例),因此我只需管理所有应用程序的一个python版本。
现在我想调试一个应用程序。(假设这里:这个应用程序运行时已经没有错误了),我使用了eclipse和PyDev。在创建工作区并将代码作为文件夹链接到eclipse工作区中的一个项目之后,我告诉PyDev在哪里找到我的python可嵌入解释器,以及启动哪个应用程序。
当我开始调试时,调试器告诉我:
Traceback (most recent call last):
File "C:\eclipse\plugins\org.python.pydev.core_7.1.0.201902031515\pysrc\pydevd.py", line 19, in <module>
from _pydev_bundle import fix_getpass
ModuleNotFoundError: No module named '_pydev_bundle'
所以调试器找不到自己的模块?现在,我将PyDev源的路径添加到文件中可嵌入python解释器的PYTHONPATH中。
python36._pth
如下所示:
C:\eclipse\plugins\org.python.pydev.core_7.1.0.201902031515\pysrc
(是的,路径不是相对的)(旁注:我必须在eclipse中重新配置解释器,以使pydev识别路径更改)
这样做可以解决这个问题,我可以调试应用程序。(忽略调试器淹没我的控制台的警告)
有人能告诉我为什么我需要将这条路径添加到我的python可嵌入中,这应该是尽可能独立的吗?我能把它放在别的地方吗?我已经尝试将源代码路径添加到eclipse项目PYTHONPATH和eclipse解释器PYTHONPATH,但没有成功。
PS:我的python应该独立于应用程序来在它们之间共享并且能够交换它(更新到更新版本)。这些应用程序是使用链接启动的,我在其中调用python可嵌入的可执行文件,并将应用程序作为参数传递。因此,双击power图标对应用程序用户来说就足够了。
发布于 2019-04-01 14:00:41
我真的不明白一件事:您是从Eclipse内部启动代码的(比如调试as > Python),它会产生错误吗?
你是在以某种方式改变你的想法吗?
它的工作方式是Eclipse/PyDev将更改PYTHONPATH环境变量,以添加pydevd
调试器所需的路径,但是如果您有一个自定义Python或zip,然后替换或不使用该变量,则需要得到预期的结果,并且您必须确保PYTHONPATH env仍然受到调试器的尊重.
https://stackoverflow.com/questions/55256765
复制相似问题