龙de船人

 找回密码
 立即注册

手机登录 微信登录 QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1755|回复: 24
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
主题
发表于 2019-12-6 20:16 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
各位Tribon大神:


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

python3 error2.jpg (122.35 KB, 下载次数: 36)

python3 error2.jpg
回复

使用道具 举报

龙船五分快三
25
 楼主| 发表于 2019-12-11 08:31 | 只看该作者
青语 发表于 2019-12-11 08:02
说实话理论上应该不会有你这个问题,但毕竟每个人电脑不一样,我也只能先试着解决这个问题,最终结果可能 ...

这个略为复杂的步骤后面再来学习。  现在问题已解决,用以下的方法:
1. .pth路径中删除“;”;

2. .pth文件放到“C:\Python23\Lib\site-packages”中;

3. 删除环境变量PYTHONPATH;

现在TRIBON和py3/py2均可以使用。

非常感谢大神的帮助!

谢谢!
回复 支持 反对

使用道具 举报

24
发表于 2019-12-11 08:02 来自手机 | 只看该作者
gbbestway 发表于 2019-12-10 20:53
我把PYTHONPATH里边的Tribon路径添加到一个pth文件中,如下:



说实话理论上应该不会有你这个问题,但毕竟每个人电脑不一样,我也只能先试着解决这个问题,最终结果可能就是用了加不用删。
初始化时sys.path是一个“非常复杂”的过程,里面涉及到很多地方,一个个去查很麻烦。但你的问题显然来自于环境变量。
你可以试试把3的pyvenv.cfg中的applocal改为ture来屏蔽环境变量 等 对3的影响。

同样,在开发的程序中利用shebang可能可以解决这个问题。
回复 支持 反对

使用道具 举报

23
发表于 2019-12-11 07:23 来自手机 | 只看该作者
gbbestway 发表于 2019-12-10 20:53
我把PYTHONPATH里边的Tribon路径添加到一个pth文件中,如下:



;去掉
确认拓展名.txt已经删除。
回复 支持 反对

使用道具 举报

22
 楼主| 发表于 2019-12-10 20:53 | 只看该作者
青语 发表于 2019-12-10 19:10
你得把tribon的那几个环境变量写进去,然后放到tribon的py的site-packages下面。这样Tribon就可以正常用 ...

我把PYTHONPATH里边的Tribon路径添加到一个pth文件中,如下:


然后,在TRIBON的目录下没有发现有"site-packages".  

我把它放到C:\Python23\Lib\site-packages的文件夹下,

运行py -3.  错误依旧。

最后,删除PYTHONPATH变量,python3.8即可以启动。 但是TRIBON的二次开发程序运行不了。
将PYTOHPATH变量加回去,TRIBON好了,PYTHON3.8运行不了。


TB PTH.jpg (18.55 KB, 下载次数: 7)

TB PTH.jpg
回复 支持 反对

使用道具 举报

21
发表于 2019-12-10 19:10 来自手机 | 只看该作者
gbbestway 发表于 2019-12-10 18:32
我写了个.pth文件,里边包括:
"D:\Program Files\Python\Python38\
D:\Program Files\Python\Python38 ...

你得把tribon的那几个环境变量写进去,然后放到tribon的py的site-packages下面。这样Tribon就可以正常用了。
然后Py3把环境变量删了就好了。。。
回复 支持 反对

使用道具 举报

20
 楼主| 发表于 2019-12-10 18:32 | 只看该作者

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

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

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

谢谢!
回复 支持 反对

使用道具 举报

19
发表于 2019-12-9 23:07 来自手机 | 只看该作者
gbbestway 发表于 2019-12-9 20:21
嗯,加回去了,py3又运行不了了。。。

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

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

使用道具 举报

18
 楼主| 发表于 2019-12-9 20:21 | 只看该作者
青语 发表于 2019-12-9 19:23
因为没地址啊。加回去就好了。
或者写个.pth文件,简单粗暴。

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

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

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

使用道具 举报

17
发表于 2019-12-9 19:23 来自手机 | 只看该作者
gbbestway 发表于 2019-12-9 18:58
是影响TB运行,TRIBON里的二次开发程序没了。


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

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

使用道具 举报

16
 楼主| 发表于 2019-12-9 18:58 | 只看该作者
是影响TB运行,TRIBON里的二次开发程序没了。
回复 支持 反对

使用道具 举报

15
 楼主| 发表于 2019-12-9 18:57 | 只看该作者
青语 发表于 2019-12-9 10:58
加完也要-3呐。要不你就把程序文件改名,要不就按官方解决方案-3。。。

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

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

使用道具 举报

14
 楼主| 发表于 2019-12-9 18:54 | 只看该作者
青语 发表于 2019-12-9 10:58
加完也要-3呐。要不你就把程序文件改名,要不就按官方解决方案-3。。。

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

运行py -3

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

使用道具 举报

13
发表于 2019-12-9 11:32 来自手机 | 只看该作者
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:



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

使用道具 举报

12
发表于 2019-12-9 11:30 来自手机 | 只看该作者
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:



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

使用道具 举报

11
发表于 2019-12-9 10:58 来自手机 | 只看该作者
gbbestway 发表于 2019-12-9 08:17
加上去也没用,还是冲突的。如下图:




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

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

使用道具 举报

10
 楼主| 发表于 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 (45.59 KB, 下载次数: 15)

Python38-Env.jpg
回复 支持 反对

使用道具 举报

9
发表于 2019-12-8 14:45 来自手机 | 只看该作者
gbbestway 发表于 2019-12-8 14:24
运行 py -3, 还是不行。 结果如下:
D:\>cd \program files\python\python38


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

使用道具 举报

8
 楼主| 发表于 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>
回复 支持 反对

使用道具 举报

7
发表于 2019-12-8 11:45 来自手机 | 只看该作者
gbbestway 发表于 2019-12-8 10:00
大神,我的意思是:我要运行python3;但是又不想把TRIBON给卸载了(或者影响TB的二次程序)。现在发现到D盘 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 手机登录 微信登录 QQ登录

本版积分规则

小黑屋||关于我们(mail@imarine.cn)|免责条款||龙de船人 ( 五分快三-1 )

GMT+8, 2020-2-27 15:59

Powered by Imarine

Copyright © 2006-2020, 龙de船人

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