繁体   English   中英

更改Python版本以调用两个不同的模块

[英]Change Python Versions to call two different modules

我有一个简单的程序,其中使用了两个模块,即sqlite3和twython。 现在,sqlite3用于python2.6,而twython用于2.7。 因此,如果将我的shebang线更改为2.6,则twhhton会失败,即

python2.6 t_first.py
ImportError: No module named twython

如果我跟随

python2.7 t_first.py
ImportError: No module named _sqlite3

任何解决方案。 同样,virtualenv也不是最佳解决方案。

sqlite3通常是python(在2.6和2.7中)的内置函数。 我建议您安装python 2.7的完整版本,并将twython安装到该站点的软件包中。 如果您不想这样做,请将twython安装到2.6站点软件包中。

您可以使用异常处理来管理导入过程。 类似于以下内容:

try:
    import twython
except ImportError:
    import _sqlite3

如果您假设在任何情况下都需要同时使用这两者之一,则此方法有效。 这将提供对twython的偏好,如果twython不可用,则回退到_sqlite3。 可以接受的逻辑等同于:

if "twython exists" import twython else import _sqlite3 

如果您想更具体地了解环境,还可以执行以下操作:

import sys
if sys.version_info == (2, 6):
    import _sqlite3
elif sys.version_info == (2, 7):
    import twython

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM