首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找python模块版本会在生产机器上出现错误,但不是在我的开发机器上

查找python模块版本会在生产机器上出现错误,但不是在我的开发机器上
EN

Stack Overflow用户
提问于 2017-01-18 07:02:37
回答 1查看 236关注 0票数 0

我已经在我的MacOsX开发箱中安装了pgdb模块,我的代码可以正常工作(特别是一行是pgdb.connect(等等))。效果很好。我在我的主服务器(linux)上运行他的代码,它显示module没有connect属性。

我认为这是一个版本问题,所以我按照这里的建议来查看版本:

How to check version of python modules?

这就是我所做的:

代码语言:javascript
复制
python
import pgdb
print pgdb.__version__

在我的macosX机器上,返回版本在我的开发机器上没有问题,它再次给出错误:

代码语言:javascript
复制
AttributeError: 'module' object has no attribute '_version_'

奇怪的是,做一个导入pgdb并没有抛出一个错误,但它的行为就像它没有安装在我的生产机器上。也许是图书馆损坏了我不知道的盒子?我应该说导入pgdb作为我的特殊的东西(这并没有做它仍然说没有连接)?

另一件事是,我确实做了一个健全性检查,并在production机器上执行了sudo pip install pgdb,得到了以下结果:

代码语言:javascript
复制
Requirement already satisfied: pgdb in /usr/lib/python2.7/site-packages

需求已经满足:/usr/lib64/python2.7/site- psycopg2>=2.5.2中的包(来自pgdb)

此外,现在这不是一个名称冲突的问题,就像一个发帖者认为可能是重复的那样。虽然有趣的是,当我检查os x正在使用的文件和centos用于pgdb的文件时,我得到了两个不同的答案:(路径不会让我感到惊讶,但文件本身会让我感到惊讶)

MacOS X:

代码语言:javascript
复制
 >>> pgdb.__file__
 '/usr/local/lib/python2.7/site-packages/pgdb.pyc'

CentOS:

代码语言:javascript
复制
 >>> pgdb.__file__
 '/usr/lib/python2.7/site-packages/pgdb/__init__.pyc'

不知道有什么不同。

EN

回答 1

Stack Overflow用户

发布于 2017-01-18 07:10:41

您可能在当前工作目录中有pgdb.py文件,即启动Python的目录。请将其删除或重命名,然后重试。

您可以通过以下命令找出模块的位置:

代码语言:javascript
复制
print pgdb.__file__

或者:

代码语言:javascript
复制
import os

print os.path.abspath(pgdb.__file__)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41708599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档