当前位置: 首页 > news >正文

pip安装sentence-transformers时的一些报错记录以及Python汉字转拼音cleverdeng/pinyin.py程序的调整处理

一、pip安装sentence-transformers时的一些报错记录

        之前记的一些pip安装sentence-transformers时的一些报错记录,也不知道是什么时候记下来的,不想删除放这里存着吧。

pip3 install -U sentence-transformers
pip3 install -U transformers

1. PIP进行模块下载太慢甚至超时报错

        PIP进行模块下载太慢甚至超时,urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out。解决方法是可以直接指定下载源,解决问题。也可以配置vim ~/pip/pip.conf文件中的源地址 ,一劳永逸。

pip install -i https://pypi.douban.com/simple -U sentence-transformers

2. ModuleNotFoundError: No module named 'setuptools_rust' 

解决办法:升级pip,然后再安装oss2
pip3 install --upgrade pip
pip3 install oss2

3. ImportError: No module named ordered_dict

解决办法:安装urllib3
pip install urllib3==1.22

4. ImportError: no module named zipp

解决办法:安装zipp
pip install zipp==1.2.0

5. linux安装库时报错command 'x86_64-linux-gnu-gcc' failed

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
apt-get install -y build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev

6 .Warning: pip is being invoked by an old script wrapper

解决办法:
#For Python2 Versions:
python -m pip install --upgrade --force-reinstall pip
#For Python3 Versions:
python3 -m pip install --upgrade --force-reinstall pip

二、Python汉字转拼音cleverdeng/pinyin.py程序的调整处理

    在使用python将汉字转为拼音的时候,我使用了https://github.com/cleverdeng/pinyin.py 中的这个程序文件,虽然原程序是基于python2开发的,但程序很简洁,代码量也不多,完全可以使用。现在因为是python3的环境,会遇到一些问题以及原程序不够好的地方,在这里总结列出来一下:

1. 在加载dict_file文件时使用的是

def __init__(self, dict_file='word.data'):self.dict_file = dict_file

        根本没有考虑程序文件是基于框架并不是在当前程序目录中运行,因此会导致找不到dict_file文件而报错。更好的方法应该是基于当前路径去加载文件。

def __init__(self, dict_file='word.data'):abs_path = os.path.dirname(__file__)self.dict_file = abs_path + '/' + dict_file

2. 在读取dict_file文件时报错

with file(self.dict_file) as f_obj:
NameError: name 'file' is not defined, 因python版本升级,函数使用有所变化,需要把file函数改成open函数从而解决问题。

3. 在字符进行解码的时候unicode要改成str

if not isinstance(string, unicode):
string = string.decode("utf-8")
会报错:NameError: name 'unicode' is not defined。 Python2 的unicode 函数在 Python3 中被命名为 str。在 Python3 中使用 ·str 来代替 Python2 中的 unicode即可解决问题。


http://www.mrgr.cn/news/53591.html

相关文章:

  • 高效实现Python机器学习:超参数优化中的网格搜索与随机搜索详解
  • 城市发展指数-基于滴滴平台数据测算
  • C++ 数组、递归两种方式实现二分查找
  • 安卓窗口wms/input小知识NO_INPUT_CHANNEL剖析
  • Python无监督学习中的聚类:K均值与层次聚类实现详解
  • 【厦门大学附属第一医院(互联网医院)-注册安全分析报告-无验证方式导致安全隐患】
  • 大模型量化感知训练 LLM-QAT
  • 深度学习框架-Keras的常用内置数据集总结
  • 妇女、商业与法律(WBL)(1971-2023年)
  • 理解ADC:信噪比SNR的天花板是什么?附带介绍一下ENOB
  • C++——定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法。参加运算的两个操作数可以都是类对象,也可以一个是整数,其顺序任意。
  • 反欺诈与数字信任:保障数字经济安全的关键
  • 衡石分析平台系统分析人员手册-应用空间
  • 【微知】RDMA IB verbs中的ABI是什么?作用是什么?(application binary interface、规范、兼容)
  • PCDN 技术如何优化网络延迟(壹)
  • 机械视觉光源选型
  • 解决mac ssh端终端只有黑白颜色的问题
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-17
  • C++——有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。(如c=a+b)
  • 动销方案在合作伙伴场地执行,好处多多!