2013-12-10 82 views
9

我已經在virtualenv中安裝了pytz(v2013.8,但它發生在2013.b,2011k)。第一次撥打第一次調用pytz.timezone在virtualenv中速度很慢

pytz.timezone("US/Eastern") 

大約需要4秒鐘。在常規環境中,這基本上是瞬間的。

有沒有人有一招讓它跑得更快?

+1

不錯的自我回答! –

+1

這可能對未來很有幫助,做得很好! :)當你需要代表時,考慮重新發布作爲答案。 – BartoszKP

回答

12

我實際上通過玩弄並查看源代碼來了解答案。由於它從egg內獲得它的時區設置,並且第一次調用timezone必須檢查所有的時區文件是否存在,第一次調用可能會很慢,這取決於os如何找到這些文件。如果使用apt-get install python-tz安裝pytz,然後調用命中未壓縮的文件,速度非常快。如果使用easy_install pytz進行安裝,則它會一遍又一遍地碰到一個壓縮文件,速度較慢。

所以解決方案是解壓縮它。幸運的是,pip有一個方便的命令。

TL;博士

pip unzip pytz 
1

好像在Windows中直接刪除pytz-2013.9-py2.7.egg

1

我有一個很難運行

PIP解壓pytz

,因爲它說它找不到該包。我發現這工作的解決方法是編輯setup.py文件和更換

zip_safe =假

。 (將其設置爲False)。然後再次運行安裝程序:

蟒蛇的setup.py安裝

這解決了我的緩慢的加載時間的問題也是如此。

相關問題