问题描述
我对编程还很陌生,所以请耐心等待。
当我为正在使用的模块安装一些必需的软件包时,我无法安装 python-stdnum==1.8
。
我收到以下错误消息:
File "C:\Users\59996\AppData\Local\Programs\Python\python37\lib\encodings\cp1252.py",line 23,in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 967: character maps to <undefined>
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
我能做些什么来仍然能够安装软件包吗?
任何帮助将不胜感激。提前致谢!
解决方法
如果是在 Windows 上安装 Odoo 14,问题出在“requirements.txt”
将“python-stdnum==1.8”更改为“python-stdnum==1.8.1”(即使Federico Baù的回答在起作用)
然后会出现另一个问题,因此将“psutil==5.6.6”更改为“psutil==5.6.7” 仍在“requirements.txt”中
来源:https://github.com/odoo/odoo/issues/62919
最好的问候
,我在 Windows 中安装 Odoo Dependencies 时遇到了同样的问题,但经过一番努力后我找到了解决方案。
这是 stdnum 1.8
--> stdnum 1.8 installation fails on windows 的旧错误。
解决方案
-
前往arthurdejong.org/python-stdnum/并找到python-stdnum-1.8.tar.gz
-
将 Zip 下载到文件夹中,将其从
python-stdnum-1.8.tar.gz
重命名为python-stdnum-1.8.tar_.gz
(为了避免名称冲突)。 -
然后创建以下 Python 脚本(在同一目录中):
import tarfile
def open_tarfile_function(tarfile_file_name):
open_tarfile=tarfile.open("python-stdnum-1.8.tar_.gz")
open_tarfile.extractall(path='stdnum')
open_tarfile.close()
open_tarfile_function('data.tgz')
- 它将创建一个名为 stdnum 的文件夹,打开它,然后打开
setup.py
,转到第 37 行并从这里修改:
with open(os.path.join(base_dir,'README'),'r') as fp:
long_description = fp.read()
为此:
with open(os.path.join(base_dir,'rb') as fp:
long_description = fp.read().decode('utf-8')
保存。
- 现在在同一目录中运行此代码:
import tarfile
import os.path
def make_tarfile(output_filename,source_dir):
with tarfile.open(output_filename,"w:gz") as tar:
tar.add(source_dir,arcname=os.path.sep)
output_filename = "python-stdnum-1.8.tar.gz"
source_dir = "stdnum\python-stdnum-1.8"
make_tarfile(output_filename,source_dir)
-
这将创建文件
python-stdnum-1.8.tar.gz
复制绝对路径 -
转到您的 Python 环境并运行:
pip install D:\Odoo\Odoo_instance_one\python-stdnum-1.8.tar.gz
显然用您的绝对路径替换绝对路径。
,首先,您可以使用在线安装,使用命令pip install python-stdnum==1.8
。
其次,可以从here下载python-stdnum的whl文件。
例如下载到 F:/file
。
然后使用命令 pip install F:/file/python_stdnum-1.15-py2.py3-none-any.whl
进行安装。
python-stdnum 1.8
是之前的版本,没有对应的whl文件了。
一般来说,之前的版本对应的python版本比较低,所以如果你用pip install python-stdnum==1.8
来安装,可能会有问题,因为你现在的python是3.7,比较新。