最近用python3比较多,今天突然发现python27生成的pickle文件在python3环境中不能正确解析里面的内容,折腾一番没找到理想的解决方案,只好把本地环境改成python27先用着了。
意料之外,竟然引发另一个问题,一直在用的pycharm使用python27的时候不能debug了,而把解释器换成python3就没有问题,奇怪!Console中输出信息如下,除此之外没有额外的信息。
D:\Anaconda3\envs\test-py27\python.exe "D:\Program Files\JetBrains\PyCharm Community Edition 2020.3.2\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --client 127.0.0.1 --port 24394 --file D:/Programs/xxx/test.py
Connected to pydev debugger (build 203.6682.179)
Process finished with exit code -1073741819 (0xC0000005)
看网友们的解释也是五花八门,但是没有找到靠谱的解决方案。尝试了几种方法都以失败告终,例如,下面这些设置。
修改设置
修改系统区域设置
因为以前用着都挺正常的,想着肯定不至于是什么大问题,应该是有一个设置出了什么问题。怀揣着这样的想法,继续搜索。
但是线索确实太少了。仅凭一句输出,怎么定位问题呢?
看到了有地方能输出debug信息,值得一试!先如下图设置PYCHARM_DEBUG变量为True:
设置PYCHARM_DEBUG变量
设置完毕,再次启动debugger,会发现输出信息变多了!
D:\Anaconda3\envs\test-py27\python.exe "D:\Program Files\JetBrains\PyCharm Community Edition 2020.3.2\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 54309 --file D:/Programs/xxx/test.py
Using Cython speedups
Unable to load jupyter_debug plugin
Executing file D:/Programs/xxx/test.py
arguments: ['D:/Programs/xxx/test.py']
PYDEVD_FILTER_LIBRARIES False
Started in multiproc mode
('Connecting to ', '127.0.0.1', ':', '54309')
('Connected.',)
debugger: received >>99 -1 54310
<<
Received command: ??? 99 -1 54310
Received port 54310
pydev debugger: process 3224 is connecting
Process finished with exit code -1073741819 (0xC0000005)
虽然多了那么一点,但是有用的不多,好歹比没有强!
然后继续搜索这句话:“pydev debugger: process 3224 is connecting”
这下可选的方案终于多了起来!
最终试了下图中的设置,成功解决问题!
设置Qt兼容性
原来这里只把pyqt勾掉还不行,需要选一个选项才行,于是我就设置成了PyQt4。
网友评论