我剛剛在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的版本顯示。
來源
2017-08-19 20:18:36
frr
工作就像魅力;我遇到的唯一問題是我的系統中也安裝了Python35,所以我必須在調用pip之前將路徑更改爲Python27,並聲明使用Inkscape – Pontios