第一次用的时候报的错,求助
我自己电脑有一个 python3.7.8 的环境,不知道是不是和这有关系。
"[图片] 我自己电脑有一个 python3.7.8 的环境,不知道是不是和这有关系。"
我自己电脑有一个 python3.7.8 的环境,不知道是不是和这有关系。
1、我猜测你是在【代码块】中把D:\Python\lib
加入了 sys.path 了是吗?即类似如下代码:
import sys
sys.path.append(r'D:\Python\Lib')
2、如果你需要本地的其他 Python 环境里的第三方库(自编库)支持,你可以把D:\Python\Lib\site-packages\...
中的第三方库,复制到D:/Program Files/ISRPA/Python/Lib/site-packages/
中即可;
3、或者只把你需要的第三方库复制到一个文件夹(假设叫:D:\site-packages\
目录),然后加入到 RPA 的 Python 运行环境,在【代码块】组件加入:
import sys
sys.path.append(r'D:\site-packages')
4、这样你在代码块 import 你需要的库时候就不会报错了。(这个报错,是两个不同 Py 版本的 Lib 库下的自带 py 脚本冲突引起,这个 _bootlocale.py,在 RPA 设计器 Py Lib 库目录下也有。)
这是我的 _bootlocale.py 文件
"""A minimal subset of the locale module used at interpreter startup
(imported by the _io module), in order to reduce startup time.
Don’t import directly from third-party code; use the locale
module instead!
"""
import sys
import _locale
if sys.platform.startswith(“win”):
def getpreferredencoding(do_setlocale=True):
if sys.flags.utf8_mode:
return ‘UTF-8’
return _locale._getdefaultlocale()[1]
else:
try:
_locale.CODESET
except AttributeError:
if hasattr(sys, ‘getandroidapilevel’):
# On Android langinfo.h and CODESET are missing, and UTF-8 is
# always used in mbstowcs()and wcstombs().
def getpreferredencoding(do_setlocale=True):
return ‘UTF-8’
else:
def getpreferredencoding(do_setlocale=True):
if sys.flags.utf8_mode:
return ‘UTF-8’
# This path for legacy systems needs the more complex
# getdefaultlocale() function, import the full locale module.
import locale
return locale.getpreferredencoding(do_setlocale)
else:
def getpreferredencoding(do_setlocale=True):
assert not do_setlocale
if sys.flags.utf8_mode:
return ‘UTF-8’
result = _locale.nl_langinfo(_locale.CODESET)
if not result and sys.platform == ‘darwin’:
# nl_langinfo can return an empty string
# when the setting has an invalid value.
# Default to UTF-8 in that case because
# UTF-8 is the default charset on OSX and
# returning nothing will crash the
# interpreter.
result = ‘UTF-8’
return result
操作系统的环境变量配置了 Python 执行目录不用删除,RPA 设计器就是使用的独立 Python3.6 环境,是 D 盘这个 lib 目录下的代码使用了 Python3.6 不支持的语法,故此请参照第 5、6 条建议处理。
感谢解答!我把系统设置的 Python 环境变量全部删掉之后,程序就可以正常运行了。但是我电脑其他的 python 程序就没法跑了 😐 求问有没有为 RPA 设计器单独设置环境变量的方法呢?再次感谢
1、首先你的 RPA 设计器的 Python3.6 环境是在D:/Program Files/ISRPA/Python/
目录;
2、从报错信息来看是 import site 模块出现错误,奇怪的是你导入的是D:\Python\lib\
目录下的模块;
3、分析来看你应该是在代码块中把D:\Python\lib\
添加到 sys.path 的运行环境了(或者是全局函数等其他代码中);
4、17 行的报错信息来看,sys.flags.utf8_mode
是用来指定 utf8 格式的:sys.flags.utf8_mode(1)
,设计器 Py36 版本不支持 utf8_mode(需要 3.7 及以上);
5、建议在 _bootlocale.py 中通过判断 Python 版本来确定是否执行if sys.flags.utf8_mode:
分支,例如:
import sys
version_37 = sys.version_info[0] == 3 and sys.version_info[1] >= 7
if version_37 and sys.flags.utf8_mode:
# 这个分支的代码
pass
6、如果不知道怎么处理,可以把getpreferredencoding
这个函数(方法)贴出来。
1、首先你的 RPA 设计器的 Python3.6 环境是在
D:/Program Files/ISRPA/Python/
目录;2、从报错信息来看是 import site 模块出现错误,奇怪的是你导入的是
D:\Python\lib\
目录下的模块;3、分析来看你应该是在代码块中把
D:\Python\lib\
添加到 sys.path 的运行环境了(或者是全局函数等其他代码中);4、17 行的报错信息来看,
sys.flags.utf8_mode
是用来指定 utf8 格式的:sys.flags.utf8_mode(1)
,设计器 Py36 版本不支持 utf8_mode(需要 3.7 及以上);5、建议在 _bootlocale.py 中通过判断 Python 版本来确定是否执行
if sys.flags.utf8_mode:
分支,例如:6、如果不知道怎么处理,可以把
getpreferredencoding
这个函数(方法)贴出来。