LiClipse--无法从cygwin添加Python 3解释器
我在Windows7上运行LiClipse,64位 当我转到preferences->PyDev->解释器->Python解释器->新建,并尝试添加位于C:\cygwin\bin\python3.2m.exe的解释器时。我看到一个错误,无法获取有关解释器的信息。。。原因:有关详细信息,请参阅错误日志 在日志中:LiClipse--无法从cygwin添加Python 3解释器,python,eclipse,python-3.x,cygwin,pydev,Python,Eclipse,Python 3.x,Cygwin,Pydev,我在Windows7上运行LiClipse,64位 当我转到preferences->PyDev->解释器->Python解释器->新建,并尝试添加位于C:\cygwin\bin\python3.2m.exe的解释器时。我看到一个错误,无法获取有关解释器的信息。。。原因:有关详细信息,请参阅错误日志 在日志中: No output was in the standard output when trying to create the interpreter info for: C:\cygwi
No output was in the standard output when
trying to create the interpreter info for: C:\cygwin\bin\python3.2m.exe
The error output contains:
>>Traceback (most recent call last):
File "C:\Program Files\Brainwy\LiClipse 1.2.0\plugins\org.python.pydev_3.8.0.201409251617\pysrc\interpreterInfo.py", line 167, in <module>
if sys.platform == "cygwin" and not executable.endswith('.exe'):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str
<<
这看起来像是python2对python3的问题,但我不完全确定我做错了什么,pydev与3.2兼容吗?我打算开发3.x代码,所以我确实需要使用python3解释器
编辑:如果我选择C:\cygwin\bin\python2.7.exe,它会工作。Python3肯定有些不可靠的地方
PyDev版本:3.8.0.201409251617看起来像是对ctypes.cdll.cygwin1.cygwin_conv_path的调用的输出是字节字符串。 在python2中没有问题,因为所有其他字符串声明也是字节字符串,因为没有u前缀,但在python3中,默认值是unicode字符串,因此脚本尝试查找字节字符串是否以不好的unicode字符串结尾 要修复它,您需要将nativePath的输入转换为字节字符串,否则它将仅在C函数中,然后将输出转换为unicode字符串。 我在GitHub上为此提出了拉取请求: