私は、良くも悪くも、私が呼び出したプライベートモジュールを持っていますtime
。graph
モジュールを使用するのと同じディレクトリに存在する、私が呼び出した別のモジュールがありredis-py
ます。
残念ながら、私のtime
モジュールは標準モジュールが行うこととまったく同じではなくtime
、その結果、次のエラーが発生します。
$ /opt/stuff/bin/python /opt/stuff/lib/utils/graph.py
Traceback (most recent call last):
File "/opt/stuff/lib/utils/graph.py", line 6, in <module>
import redis
File "/opt/stuff/lib/python2.6/site-packages/redis/__init__.py", line 1, in <module>
from redis.client import Redis, StrictRedis
File "/opt/stuff/lib/python2.6/site-packages/redis/client.py", line 6, in <module>
import time as mod_time
File "/opt/stuff/lib/utils/time.py", line 5, in <module>
import pytz
File "/usr/lib/python2.6/site-packages/pytz/__init__.py", line 32, in <module>
from pkg_resources import resource_stream
File "/opt/stuff/lib/python2.6/site-packages/pkg_resources.py", line 761, in <module>
class Environment(object):
File "/opt/stuff/lib/python2.6/site-packages/pkg_resources.py", line 764, in Environment
def __init__(self, search_path=None, platform=get_supported_platform(), python=PY_MAJOR):
File "/opt/stuff/lib/python2.6/site-packages/pkg_resources.py", line 140, in get_supported_platform
plat = get_build_platform(); m = macosVersionString.match(plat)
File "/opt/stuff/lib/python2.6/site-packages/pkg_resources.py", line 282, in get_build_platform
from distutils.util import get_platform
File "/opt/stuff/lib64/python2.6/distutils/__init__.py", line 25, in <module>
from distutils import dist, sysconfig
File "/usr/lib64/python2.6/distutils/dist.py", line 21, in <module>
from distutils.fancy_getopt import FancyGetopt, translate_longopt
File "/usr/lib64/python2.6/distutils/fancy_getopt.py", line 32, in <module>
longopt_xlate = string.maketrans('-', '_')
AttributeError: 'module' object has no attribute 'maketrans'
モジュールを削除するとtime
、エラーが修正されます。graph.py
基本的にモジュールを無視してシステムのモジュールを使用するようにハックする方法はありtime
ますか? 使用してみましfrom __future__ import absolute_import
たが、違いはないようです。