查看: 4468|回复: 24
收起左侧

[Tribon] 二次开发大神:Tribon自带python报错,怎么办?

[复制链接]
发表于 2019-12-6 20:16 | 显示全部楼层 |阅读模式 来自: 中国浙江嘉兴
各位Tribon大神:


Python38安装之后,发现与Tribon自带的python冲突,如下图所示,哪位大神帮忙解决一下,感谢!

python3 error2.jpg
回复

使用道具 举报

龙船学院
发表于 2019-12-7 17:22 来自手机 | 显示全部楼层 来自: 中国
看这个错误估计是py2和py3语法变了导致的吧。
要么把改程序 109行。
要么该地址用以前的py喽
回复 支持 反对

使用道具 举报

发表于 2019-12-8 08:27 | 显示全部楼层 来自: 中国江苏南通
把系统python的home变量指向旧版的目录。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-8 09:26 | 显示全部楼层 来自: 中国浙江嘉兴
mack_hu 发表于 2019-12-8 08:27
把系统python的home变量指向旧版的目录。

我把PYTHONHOME指向低版本的PYTHON,然后到PYTHON38下运行,问题依旧:

D:\Program Files\Python\Python38>py
Python path configuration:
  PYTHONHOME = 'C:\Python23;C:\Python23\Scripts;C:\Tribon\M3\Bin\python'
  PYTHONPATH = 'C:\Tribon\M3\Vitesse;C:\Tribon\M3\Vitesse\Basic_Design;C:\Tribon\M3\Vitesse\Lib;C:\Tribon\M3\Vitesse\Projects;C:\Tribon\M3\bin\python;'
  program name = 'D:\Program Files\Python\Python38\python.exe'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.base_prefix = 'C:\\Python23;C:\\Python23\\Scripts;C:\\Tribon\\M3\\Bin\\python'
  sys.base_exec_prefix = 'C:\\Python23;C:\\Python23\\Scripts;C:\\Tribon\\M3\\Bin\\python'
  sys.executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.prefix = 'C:\\Python23;C:\\Python23\\Scripts;C:\\Tribon\\M3\\Bin\\python'
  sys.exec_prefix = 'C:\\Python23;C:\\Python23\\Scripts;C:\\Tribon\\M3\\Bin\\python'
  sys.path = [
    'C:\\Tribon\\M3\\Vitesse',
    'C:\\Tribon\\M3\\Vitesse\\Basic_Design',
    'C:\\Tribon\\M3\\Vitesse\\Lib',
    'C:\\Tribon\\M3\\Vitesse\\Projects',
    'C:\\Tribon\\M3\\bin\\python',
    '',
    'D:\\Program Files\\Python\\Python38\\python38.zip',
    'C:\\Python23',
    'C:\\Python23\\Scripts',
    'C:\\Tribon\\M3\\Bin\\python\\DLLs',
    'C:\\Python23',
    'C:\\Python23\\Scripts',
    'C:\\Tribon\\M3\\Bin\\python\\lib',
    'D:\\Program Files\\Python\\Python38',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
  File "C:\Tribon\M3\bin\python\encodings\__init__.py", line 109
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00002f4c (most recent call first):
<no Python frame>

D:\Program Files\Python\Python38>
回复 支持 反对

使用道具 举报

发表于 2019-12-8 09:40 来自手机 | 显示全部楼层 来自: 中国辽宁
gbbestway 发表于 2019-12-8 09:26
我把PYTHONHOME指向低版本的PYTHON,然后到PYTHON38下运行,问题依旧:

D:\Program Files\Python\Pytho ...


program name = 'D:\Program Files\Python\Python38\python.exe'

你程序用2的语法写的,用3怎么可能跑的出来,想跑就改程序呐。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-8 10:00 | 显示全部楼层 来自: 中国浙江嘉兴
大神,我的意思是:我要运行python3;但是又不想把TRIBON给卸载了(或者影响TB的二次程序)。现在发现到D盘下运行PYTHON3就报错,总是和TRIBON干涉,不知道有没有什么好办法没?
回复 支持 反对

使用道具 举报

发表于 2019-12-8 11:45 来自手机 | 显示全部楼层 来自: 中国辽宁大连
gbbestway 发表于 2019-12-8 10:00
大神,我的意思是:我要运行python3;但是又不想把TRIBON给卸载了(或者影响TB的二次程序)。现在发现到D盘 ...

好吧可能你没明白。。。那单讲怎么让你能用吧
你先试 py -3
如果不行再说下一步加环境变量。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-8 14:24 | 显示全部楼层 来自: 中国浙江舟山
运行 py -3, 还是不行。 结果如下:
D:\>cd \program files\python\python38

D:\Program Files\Python\Python38>py -3
Python path configuration:
  PYTHONHOME = 'D:\Program Files\Python\Python38;D:\Program Files\Python\Python38\Scripts'
  PYTHONPATH = 'C:\Tribon\M3\Vitesse;C:\Tribon\M3\Vitesse\Basic_Design;C:\Tribon\M3\Vitesse\Lib;C:\Tribon\M3\Vitesse\Projects;C:\Tribon\M3\bin\python;'
  program name = 'D:\Program Files\Python\Python38\python.exe'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.base_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.base_exec_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.exec_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.path = [
    'C:\\Tribon\\M3\\Vitesse',
    'C:\\Tribon\\M3\\Vitesse\\Basic_Design',
    'C:\\Tribon\\M3\\Vitesse\\Lib',
    'C:\\Tribon\\M3\\Vitesse\\Projects',
    'C:\\Tribon\\M3\\bin\\python',
    '',
    'D:\\Program Files\\Python\\Python38\\python38.zip',
    'D:\\Program Files\\Python\\Python38',
    'D:\\Program Files\\Python\\Python38\\Scripts\\DLLs',
    'D:\\Program Files\\Python\\Python38',
    'D:\\Program Files\\Python\\Python38\\Scripts\\lib',
    'D:\\Program Files\\Python\\Python38',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
  File "C:\Tribon\M3\bin\python\encodings\__init__.py", line 109
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00002b60 (most recent call first):
<no Python frame>

D:\Program Files\Python\Python38>
回复 支持 反对

使用道具 举报

发表于 2019-12-8 14:45 来自手机 | 显示全部楼层 来自: 中国辽宁大连
gbbestway 发表于 2019-12-8 14:24
运行 py -3, 还是不行。 结果如下:
D:\>cd \program files\python\python38


环境变量path没加python3的目录吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 08:17 | 显示全部楼层 来自: 中国浙江舟山
加上去也没用,还是冲突的。如下图:


D:\Program Files\Python\Python38>python
Python path configuration:
  PYTHONHOME = 'D:\Program Files\Python\Python38;D:\Program Files\Python\Python38\Scripts'
  PYTHONPATH = 'C:\Tribon\M3\Vitesse;C:\Tribon\M3\Vitesse\Basic_Design;C:\Tribon\M3\Vitesse\Lib;C:\Tribon\M3\Vitesse\Projects;C:\Tribon\M3\bin\python;'
  program name = 'python'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.base_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.base_exec_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.executable = 'D:\\Program Files\\Python\\Python38\\python.exe'
  sys.prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.exec_prefix = 'D:\\Program Files\\Python\\Python38;D:\\Program Files\\Python\\Python38\\Scripts'
  sys.path = [
    'C:\\Tribon\\M3\\Vitesse',
    'C:\\Tribon\\M3\\Vitesse\\Basic_Design',
    'C:\\Tribon\\M3\\Vitesse\\Lib',
    'C:\\Tribon\\M3\\Vitesse\\Projects',
    'C:\\Tribon\\M3\\bin\\python',
    '',
    'D:\\Program Files\\Python\\Python38\\python38.zip',
    'D:\\Program Files\\Python\\Python38',
    'D:\\Program Files\\Python\\Python38\\Scripts\\DLLs',
    'D:\\Program Files\\Python\\Python38',
    'D:\\Program Files\\Python\\Python38\\Scripts\\lib',
    'D:\\Program Files\\Python\\Python38',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
  File "C:\Tribon\M3\bin\python\encodings\__init__.py", line 109
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00001c78 (most recent call first):
<no Python frame>

D:\Program Files\Python\Python38>

Python38-Env.jpg
回复 支持 反对

使用道具 举报

发表于 2019-12-9 10:58 来自手机 | 显示全部楼层 来自: 中国辽宁大连
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:




加完也要-3呐。要不你就把程序文件改名,要不就按官方解决方案-3。。。

你电脑里有个环境变量叫PYTHONPATH ,现在问题在于Python3运行时使用了这个变量读入sys.path这个list,试试先删除这个
回复 支持 反对

使用道具 举报

发表于 2019-12-9 11:30 来自手机 | 显示全部楼层 来自: 中国辽宁大连
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:



如果仍然不行 尝试3.6.4
回复 支持 反对

使用道具 举报

发表于 2019-12-9 11:32 来自手机 | 显示全部楼层 来自: 中国辽宁
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:



如果仍然不行 尝试用3.6.4 这可能涉及到另一个问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 18:54 | 显示全部楼层 来自: 中国浙江舟山
青语 发表于 2019-12-9 10:58
加完也要-3呐。要不你就把程序文件改名,要不就按官方解决方案-3。。。

你电脑里有个环境变量叫PYTH ...

运行py -3

提示和上面一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 18:57 | 显示全部楼层 来自: 中国浙江舟山
青语 发表于 2019-12-9 10:58
加完也要-3呐。要不你就把程序文件改名,要不就按官方解决方案-3。。。

你电脑里有个环境变量叫PYTH ...

嗯嗯,删除PYTONPATH之后的确好了。但是,可能会影响到TRIBON的运行。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 18:58 | 显示全部楼层 来自: 中国浙江舟山
是影响TB运行,TRIBON里的二次开发程序没了。
回复 支持 反对

使用道具 举报

发表于 2019-12-9 19:23 来自手机 | 显示全部楼层 来自: 中国辽宁
gbbestway 发表于 2019-12-9 18:58
是影响TB运行,TRIBON里的二次开发程序没了。


因为没地址啊。加回去就好了。
或者写个.pth文件,简单粗暴。

你也可以试试旧版本,也可能是因为3.7以后的一个问题导致的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-9 20:21 | 显示全部楼层 来自: 中国浙江舟山
青语 发表于 2019-12-9 19:23
因为没地址啊。加回去就好了。
或者写个.pth文件,简单粗暴。

嗯,加回去了,py3又运行不了了。。。

怎么样弄个两全其美的办法呢?这其实是一个典型问题,将来不同版本的python开发的软件运行起来弄不好都有这个问题。。

曾经试过2.7版,也是和3一样的错误。
回复 支持 反对

使用道具 举报

发表于 2019-12-9 23:07 来自手机 | 显示全部楼层 来自: 中国辽宁大连
gbbestway 发表于 2019-12-9 20:21
嗯,加回去了,py3又运行不了了。。。

怎么样弄个两全其美的办法呢?这其实是一个典型问题,将来不 ...

写个.pth文件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 18:32 | 显示全部楼层 来自: 中国浙江舟山

我写了个.pth文件,里边包括:
"D:\Program Files\Python\Python38\
D:\Program Files\Python\Python38\scripts
"

我应该把这个.pth文件的路径放进PYTHPATH里边吗? 我放进PYTHONPATH的一个目录下面,运行py -3的时候,还是报错。。
和上边一样的错误。

pth文件是否有特殊的写法和放置要求?

谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|标签|免责声明|龙船社区

GMT+8, 2024-4-27 06:37

Powered by Imarine

Copyright © 2006, 龙船社区

快速回复 返回顶部 返回列表