2013-10-04 2 views
0

나는 개인용 모듈을 가지고 있습니다. 더 좋든 나쁘 든간에 time을 호출했습니다. 다른 모듈이 있습니다. 은 redis-py 모듈을 사용하는 동일한 디렉토리에 있습니다.python이 가져 오기를 무시하도록 지시하는 방법

불행하게도, 내 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을 사용해 보았지만 그 차이가없는 것으로 보입니다.

+0

이것은'time' 모듈 그 이상입니다.'string'이라는 또 다른 모듈이 있습니다. –

+0

모듈의 이름을 변경해야하기 때문에 다른 모듈에게 절대적 가져 오기로 전환 할 수있는 방법은 없습니다. –

답변

1

모듈을 가져오고 있지 않습니다. time; 그것은 redis.client입니다.

time 최상위 모듈입니다. 다른 Python 코드는 모듈과 표준 라이브러리 버전을 구별 할 수단이 없습니다.

sys.path 주문을 변경하고 표준 라이브러리 모듈을 먼저 찾을 수 있지만 모듈의 이름을 바꾸면됩니다. 다른 이름을 붙이기는 쉽습니다.