我的问题可能不太清楚。在我竭尽全力解决问题时,请原谅我。有时我什至听起来像个白痴。
我正在Windows 10 Pro 32位计算机上使用Inkscape v0.92.4。
当我尝试访问Inkscape中的“ Voronoi图”扩展时出现问题。一旦我单击“应用”,就会出现:
The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension.Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml
Technical details:
cannot import name etree
它看起来像是一个古老的问题,也许已经解决了,但是看起来所有的麻烦都对我不利。
谷歌搜索问题使我here。之后,我尝试从“控制面板”中“系统设置”的“高级系统设置”选项下的“环境变量”选项中添加和修改“ PYTHONHOME”变量。不出所料,没有运气。
Google搜索的第二个结果使我进入了Stack Overflow site。因此,我卸载了Inkscape和Python,重新安装了Python v3.7.3(尽管那里的人安装了2.x版本的Python),并通过PIP安装了lxml包装器:
pip install lxml
然后重新安装Inkscape,同时在安装过程中不选中“ Python 2.x”复选框。 看起来这一次他们DID识别了我安装的“ lxml包装器”,但又出现了另一个错误:
Fatal Python error: initfsencoding: unable to load the file system codec
File "F:\Inkscape\python\Lib\encodings\__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Current thread 0x00000940 (most recent call first):
是的,再没有运气了。
考虑到上述错误,我假设出现此错误是因为Inkscape不支持Python 3.x,所以在对此进行更多研究(查找“ inkscape是否与Python 3兼容”)时,我遇到了另一个错误Stack Overflow article,我认为这个问题与我的有点相似。但是,我仍然没有安装Python 2.x,并尝试了相同的操作,但是链接回了Python 3.x解释器。 (我建议您访问链接,但是如果您很着急,这是我的工作: 1.前往C:\ Users \ N \ AppData \ Roaming \ inkscape \ prefereces.xml 2.查找一个具有ID“扩展名”的组,并添加了'python-interpreter =“ C:\ Users \ Sirajuddin \ AppData \ Local \ Programs \ Python \ Python37-32 \ python.exe”')
没有用(完全预期)。然后,我尝试链接到Inkscape目录本身(F:\ Inkscape \ python)中的Python目录。 原来这一次他们回到了非常基本的“需要lxml包装器”问题。因此,我从Python目录(C:\ Users \ N \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ site-packages)复制了两个文件夹,并将其粘贴到F:\ Inkscape \ python \ Lib \ site -包装。猜猜是什么,还是没有运气。
这次我终于安装了Python v2.7.16(但是,我坚持要保留Python 3.x版本,因为这是我学会使用并进行编码的版本)。经过与尝试3号相同的步骤,现在我链接到我的Python 2.x目录。但是,Inkscape再次返回到非常基本的“所需的lxml包装器”问题。我使用命令提示符进行了测试,如果链接到各自的目录,则可以分别使用Python 3.x和2.x。但是,如果我尝试通过PIP在Python 2.x目录中安装lxml包装器(希望再次在Python 2.x中安装它),则表明“要求已满足”。我在Python 2.x解释器中通过以下方法测试了lxml包装器是否存在:
C:> python
>>> import lxml
并返回没有错误,表示在那里。但是,这不是Inkscape所说的(Inkscape仍然说我没有lxml包装器,即使我链接到Python 2.x目录也是如此)。然后,我尝试从我的Python 3.x目录中复制两个用于lxml包装程序的文件夹,并将它们粘贴到我的Python 2.x目录中,仍然不走运。
因此,我返回到错误消息中提供的link Inkscape,并下载了适用于Python 2.x版本的.whl文件,然后pip安装“ lxml-4.3.4-cp27-cp27m -win32.whl”(通过pip安装文件)。但是,命令提示符返回此错误:
Requirement 'lxml-4.3.4-cp27-cp27m-win32.whl' looks like a filename, but the file does not exist
lxml-4.3.4-cp27-cp27m-win32.whl is not a supported wheel on this platform.
这现在给我提供了一个我不确定是否可以工作的选项-卸载Python 3.x和2.x,然后仅重新安装Python 2.x,更像是强迫我离开Python 3.x。
我知道我的问题太长且难以理解,但是我告诉了我整夜都没有睡一秒钟的尝试。您能否尝试解决我的问题?我迫切需要帮助,因为还有许多其他扩展和某些功能,如果没有此修复程序将无法使用。我将永远感激那些愿意以宝贵的时间为代价解决我的问题的人。
答案 0 :(得分:0)
卸载Inkscape。
卸载后,删除属于Inkscape的所有文件,可能还剩下一些。这是最重要的部分。
撤消对Python环境变量的所有更改。将您的偏好设置文件恢复为原始状态或重命名。
您看到的错误很可能是由于未遵循Inkscape网站上的更新说明,而是从其他可执行文件类型进行更新。
msi无法通过exe安装。 exe不能通过msi安装。它们不会彼此替换。运行卸载程序时,一个较旧的Inkscape版本未卸载所有Python文件。这些都可能是原因。
修复程序始终是完全删除Inkscape,然后重新安装。
Inkscape 0.92.4在Windows上带有lxml python模块。不需要安装。