ActivePython的Python包管理工具PyPM可以方便的帮助用户安装所需的包文件,但是今天在Windows上使用PyPM时,遇到一个多语言支持的问题。
最近在看twisted,在一台没有装过Python的机器上,安装了ActivePython,并利用PyPM顺利安装了twisted。
而在另外一台机器上则是直接从twisted官网上下载安装包安装的,结果在安装PyCrypto时遇到错误:
Unable to find vcvarsall.bat
Google一番发现,需要使用和编译所用Python同样版本的Visual Studio编译器去编译PyCrypto的源代码,才能安装。好在有人已经将使用各种Visual Studio版本编译好的PyCrypto包共享出来,直接下载所需的即可。可参考以下链接:
http://www.voidspace.org.uk/python/modules.shtml#pycrypto
http://stackoverflow.com/questions/11405549/how-do-i-install-pycrypto-on-windows
由此体会到PyPM的方便之处,而且利用PyPM的search命令可以很方便查找相关包的信息。
今天又在那台自己手动安装twisted的电脑上查看Python相关资料,顺手用PyPM查询一些包的信息,结果发现遇到错误:
error: (OperationalError) unable to open database file None None
Google到ActivePython社区后,找到这个帖子
http://community.activestate.com/node/6709
发现是个多语言支持的问题:PyPM将包含包信息的数据库文件存放在site.USER_SITE目录下,这个目录的位置与site.USER_BASE有关。而site.USER_BASE与所使用的OS系统、系统用户名有关。在Windows上这两个的默认值分别为:
site.USER_BASE => %APPDATA%\Python site.USER_SITE => %APPDATA%\Python\Python版本号\site-packages
如果使用的用户名是英文的,就不会遇到问题,如果是其他非ASCII字符的用户名,就会遇到这个问题。
可以通过修改site.py中USER_BASE和USER_SITE的初始值,将此目录更改为ASCII字符的路径即可。翻了一下site.py的代码,发现这两个全局变量的值,是通过OS的环境变量初始化的,且USER_SITE中包含USER_BASE的值。这样如果通过设定环境变量,改变USER_BASE的值,即可同时修改这两个全局变量。
检查发现,USER_BASE的值可由环境变量PYTHONUSERBASE设定。那么最简单的办法就是把这个环境变量和Windows默认的All Users关联起来:
PYTHONUSERBASE=%ALLUSERSPROFILE%\Application Data\Python
至此问题解决。
相关推荐
ActivePython是ActiveState软件...ActivePython目的就是使得Python更加容易安装和使用,并且可以应用在通用的操作系统上!ActivePython提供了方便而迅速的安装步骤,结合通用的Python模块,让你更方便地使用Python。
ActivePython是ActiveState软件公司发布的二进制Python执行版本。...同时ActivePython还是属于Python开发群组,所以不用担心其和Python的兼容性问题!如果您是使用Python在开发的话,相信ActivePython应该是您的选择!
该程序有助于Python程序的研发和更好的利用。
ActivePython-2.5.2.2-win32-x86.msi
当前上传输是为了解决SecureCRT不识别Python脚本问题,版本为ActivePython 2.7,
ActivePython-2.7.13
ActivePython ActivePython是ActiveState软件公司发布的二进制Python执行版本。是基于Python2.0上的另外版。本.ActivePython目的就是使得Python更加容易安装和使用,并且可以应用在通用的操作系统上。
ActivePython-2.7.10.12-win32-x86
qooxdoo开发需要使用python语言来进行程序框架的初始、错误查找以及编译、发布等工作。
Python的版本可以到官方...建议初学者使用ActivePython的PythonWin,因为它能够自动联想出可用的方法。可以到 http://www.activestate.com下载最新的ActivePython。这里给出软件是希望哪些不想到官网下载的朋友下载的。
ActivePython-2.7.14.2717-win64-x64-404905.exe 已集成很多模块库!
ActivePython-3.6.0.3600 win64 如果需要其他版本的可以私聊我
ActivePython-3.3.2.0-win32-x86.msi
ActivePython-2.5.1.1-win32-x86.part1
ActivePython-2.5.1.1-win32-x86.zip
ActivePython-3.4.3.2-win64-x64.msi
ActivePython is the leading commercial-grade distribution of the open source Python dynamic programming language available in Community Edition for Windows, Linux, and Mac OS X.
ActivePython2.6.1.1win32x86.zip的官方软件。
ActivePython24.chm