`
yessir163
  • 浏览: 33695 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ActivePython PyPM无法正常使用的问题

阅读更多

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

 至此问题解决。

2
3
分享到:
评论

相关推荐

    ActivePython

    ActivePython是ActiveState软件...ActivePython目的就是使得Python更加容易安装和使用,并且可以应用在通用的操作系统上!ActivePython提供了方便而迅速的安装步骤,结合通用的Python模块,让你更方便地使用Python。

    ActivePython-v2.7.10.zip

    在这个特定的场景中,我们关注的是ActivePython 2.7.10版本,它被用于解决SecureCRT不识别Python脚本的问题。SecureCRT是一款广泛使用的SSH客户端,它支持多种终端模拟,包括VT100、VT220、ANSI等,同时也具备脚本...

    ActivePython-3.2

    ActivePython是ActiveState软件公司发布的二进制Python执行版本。...同时ActivePython还是属于Python开发群组,所以不用担心其和Python的兼容性问题!如果您是使用Python在开发的话,相信ActivePython应该是您的选择!

    activepython

    该程序有助于Python程序的研发和更好的利用。

    activePython2.5(win32版本)

    《ActivePython 2.5(Windows 32位版本):高效Python开发的首选IDE》 ActivePython是Python编程语言的一个重要发行版,它在标准Python的基础上提供了许多增强功能和便利工具,尤其对于Windows用户来说,...

    ActivePython-2.5.2.2-win32-x86

    ”这部分暗示了这个版本的ActivePython可能比较罕见,或者是特定时期的需求,使得发布者觉得有必要分享出来供其他人使用。 标签中的关键词有以下几个: 1. **ActivePython-2.5.2.2-win32-x86**:这是该版本的完整...

    ActivePython2.6.1.1win32x86.zip

    本篇文章将围绕ActivePython 2.6.1.1 win32x86版本展开,详细介绍其特点、安装过程及使用注意事项。 标题中的"ActivePython2.6.1.1win32x86.zip"明确指出这是专为Windows 32位系统设计的ActivePython 2.6.1.1版本。...

    ActivePython-2.5.1.1-win32-x86.zip

    ActivePython是Python的一种二进制发行版,它包含Python标准库和其他一些额外的组件,使得在不同平台上安装和使用Python变得更加方便。 描述中的内容简洁,同样强调了这是ActivePython的2.5.1.1版本,适用于Windows...

    ActivePython-2.7.13

    ActivePython-2.7.13

    activepython V3.3.4.1

    ActivePython ActivePython是ActiveState软件公司发布的二进制Python执行版本。是基于Python2.0上的另外版。本.ActivePython目的就是使得Python更加容易安装和使用,并且可以应用在通用的操作系统上。

    ActivePython-2.7.10.12-win32-x86

    ActivePython-2.7.10.12-win32-x86

    ActivePython2.7.5.6

    qooxdoo开发需要使用python语言来进行程序框架的初始、错误查找以及编译、发布等工作。

    ActivePython 2.5(win32)

    Python的版本可以到官方...建议初学者使用ActivePython的PythonWin,因为它能够自动联想出可用的方法。可以到 http://www.activestate.com下载最新的ActivePython。这里给出软件是希望哪些不想到官网下载的朋友下载的。

    ActivePython-3.1.0.1-win32-x86-nopywin32.zip

    在使用ActivePython进行学习时,有几个关键知识点是不容忽视的: 1. **基本语法**:Python的缩进规则、变量定义、控制结构(if/else,for/while循环)和函数定义是入门的基础,理解这些能帮助编写出清晰、易读的...

    ActivePython-2.7.14.2717-win64-x64-404905.exe

    ActivePython-2.7.14.2717-win64-x64-404905.exe 已集成很多模块库!

    ActivePython 3.2.0.0

    由于它经过了严格的测试和认证,所以用户可以放心使用,不必担心因版本问题引发的兼容性或安全问题。 总的来说,ActivePython 3.2.0.0为Python开发者提供了一个集成了诸多实用工具和扩展的编程环境,它不仅具备...

    ActivePython-3.6.0.3600

    ActivePython-3.6.0.3600 win64 如果需要其他版本的可以私聊我

Global site tag (gtag.js) - Google Analytics