最近在學習使用python管理服務器,所以需要使用ssh等遠程登錄服務。在安裝對于的python庫pycrypto的時候,遇到了一些小問題,終于在參考別人的方法之后,成功安裝。
我使用的是python 2.7.13版本,有些問題在python3下解決方法不同。
首先,。一般在官方網站下載:https://www.dlitz.net/software/pycrypto/。然后使用命令就可以安裝成功了: python setup.py build python setup.py install 但是在windows下會報錯:Python error: Unable to find vcvarsall.bat 這個問題在這個url:http://www.biaodianfu.com/python-error-unable-to-find-vcvarsall-bat.html所講的已經很詳細了。我試了一下,對于2.x的版本,下載微軟的那個Microsoft Visual C++ Compiler Package for Python 2.7,是比較簡單的方法。但是,這個軟件下載安裝完成之后,依然是不能使用的。
錯誤原因: 報這個錯誤的原因是Python的distutils模塊中的msvc9compiler.py并不從環境變量指定的路徑中尋找’vcvarsall.bat’,而是通過注冊表來尋找…,然而,不知為什么編譯器安裝過程沒有配置注冊表。
解決辦法: 只要手工把注冊表配置好,就可以了。 // 1、打開注冊表編輯器 run regedit // 2、配置 // 2.1、如果你安裝的Python是32位的,則,創建如下項: HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/9.0/Setup/VC // 2.2、如果你安裝的Python是64位的,則,創建如下項: HKEY_CURRENT_USER/Software/Wow6432Node/Microsoft/VisualStudio/9.0/Setup/VC // 3、并在此項下新建字符串值: 名稱:PRoductdir 數據:vcvarsall.bat所在的文件路徑 注意:路徑中不包含最后的反斜杠。
但是,有時候你做完上面的操作之后,會出現新的報錯。
若遇到類似“UnicodeEncodeError: 'ascii' codec can't encode character u'/u6211' in position 0: ordinal not in range(128)”的問題,可以在 Python 的安裝目錄(默認為C:/Python27)下的 Lib/site-packages 文件夾中新建一個文件sitecustomize.py,添加如下代碼并保存:
import syssys.setdefaultencoding('gb2312')Python切記,該文件會更改 Python 的默認編碼,以后出現類似的問題,可嘗試將代碼中的 gb2312 改為 utf-8 或 ascii ,然后再次嘗試。
        
新聞熱點
疑難解答