[英]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.