2017-01-20 112 views
1

Inkscape抱怨沒有libxml,因此我爲Windows 10安裝了lxml。它在修改path - > jitter節點期間再次發出抱怨。所以我重新啓動了Inkscape。它仍在抱怨。任何知道如何解決這個問題? 在此先感謝在Windows 10中無法識別libxml inkscape 0.92

錯誤: 爲libxml2的這些巨大的LXML包裝由inkex.py需要,因此,這extension.Please下載和http://cheeseshop.python.org/pypi/lxml/安裝最新版本,或通過你的包管理器通過像這樣的命令進行安裝: sudo apt-get install python-lxml

技術細節: DLL加載失敗:%1不是有效的Win32應用程序。

回答

3

我剛剛在Windows 7 64b和InkScape 0.92.2中遇到了「這個」bug,我想給出一個健談的答案,以闡明這種「奇妙」現象的背景。請注意,錯誤消息的「技術細節」似乎與不同的人有所不同=它們可能是各種潛在問題的主機,這些問題是由不同人的Windows系統映像中出現的不同錯誤配置導致的,或者Inkscape安裝程序中可能出現的不同錯誤用於Windows的包(各種歷史版本)。首先,請注意Inkscape中的一些「外圍」內容是作爲Python腳本或模塊實現的 - 例如文件導入和導出(至少一些格式,我的DXF),也可能是內置的幫助文件。這意味着Inkscape的這些功能需要使用Python運行時引擎。

Python是一種流行的解釋型語言,在您安裝Inkscape時,您可能會在您的PC上安裝預先存在的系統級Python(某些版本)。

無論您是否已經在電腦上安裝了Python,Inkscape安裝程序都會提供隨Inkscape一起安裝Python(安裝程序中的一個選項)。 EXE安裝程序肯定包含一個複選標記,不確定MSI安裝程序變體(我似乎記得MSI安裝程序變體中的一組可選選項不夠豐富)。

問題在於:由Inkscape安裝的此Python運行時未安裝在系統範圍內。相反,它位於C:\ Program Files \ Inkscape中。甚至有一個python.exe。

用於比較:默認情況下,標準系統範圍的Python生活在C:\ Python27 \中。

爲了解決「奇妙」症狀,一些人建議設置PYTHONPATH環境變量(如果需要,系統範圍)指向Inkscape自己的Python庫文件夾。就我而言,這對Inkscape沒有什麼影響,但lxml丟失的問題仍然存在。同時,它擾亂了我的系統範圍python實例 - 猜爲什麼:-)

我很快意識到,在我的情況下,「Inkscape自己的」Python可能缺少lxml庫。因此,我設置了PYTHONPATH,啓動了一個具有管理員權限的CMD,CD放入\ Program Files \ Inkscape中,下載了get-pip.py的副本並在Inkscape Python環境中運行。這沒有成功安裝pip(IMO是「pip install lxml」之前的要求)。我不記得確切的錯誤信息,但它只是沒有解決。

接下來,我發現另一個出路是避免在Inkscape安裝程序中安裝Python,並依賴於系統範圍的Python。我曾經有一些預先存在的Python 2.7.x,但設法卸載,當我正在尋找「夢幻般的綜合徵」。所以我也卸載了Inkscape,刪除了我自己定義的PYTHONPATH,並且乾淨地安裝了Python和Inkscape。我首先從上游/官方下載網站下載了Python 2.7.13,並指出我希望PIP與Python一起安裝,一旦Python在C:\ Python27中都很舒服,我就運行「pip install lxml」(以及其他一些庫,如我需要用於RTL-SDR掃描儀的NumPy)。之後,我使用EXE安裝程序安裝了Inkscape,並確保Inkscape自己的Python未在Inkscape安裝程序中檢查安裝。

瞧,問題沒有了。 Inkscape調用系統範圍的Python解釋器來運行其文件導出腳本。每個人都很開心。

除了PYTHONPATH之外,請注意PYTHONHOME環境變量中的自定義路徑(可能會遺漏您以前使用Python進行的實驗)。

有一種方法來測試是否安裝LXML:

C:> python 
>>> import lxml 
>>> lxml 
<module 'lxml' from 'C:\Python27\lib\site-packages\lxml\__init__.pyc'> 
>>> quit() 

this topic見的安裝lxml的版本顯示。

+0

工作就像魅力;我遇到的唯一問題是我的系統中也安裝了Python35,所以我必須在調用pip之前將路徑更改爲Python27,並聲明使用Inkscape – Pontios

1

TL; DR卸載Inkscape的所有版本並重新安裝0.92解決了我的問題。

詳細信息: Windows 10,與0.92版本相同的問題。任何時候我會使用「從路徑生成」功能,它會拋出python錯誤。

我有一個更簡單的情況,其中Python尚未安裝,但Inkscape 0.91是。顯然,安裝新版本並沒有卸載舊版本,所以我的機器安裝了0.91和0.92。

因此,我卸載了兩個版本,保留了我的用戶首選項,重新安裝了0.92。

之後一切都很完美。