के साथ संकलित पायथन एप्लिकेशन के साथ उठाया गया है मुझे pytz का उपयोग करने वाले किसी एप्लिकेशन को वितरित करने में समस्या आ रही है। मैं अपने पायथन स्रोत से निष्पादन योग्य बनाने के लिए Py2Exe का उपयोग कर रहा हूं।अज्ञात टाइमज़ोन एरर अपवाद Py2Exe
समस्या मैं आ रही है की एक सरल उदाहरण के लिए, मेरे पास है: pytz_test.py:
import pytz
tz_au = pytz.timezone("Australia/Sydney")
print tz_au
और setup.py में:
from distutils.core import setup
import py2exe
setup(console=['pytz_test.py'], options={"py2exe" : { 'packages': ['pytz'], } })
मैं तो setup.py चलाने :
python setup.py py2exe
जो निष्पादन योग्य संकलित करता है। बनाया pytz_test.exe चल रहा है मैं:
मुझे लगता है ऐसा इसलिए है क्योंकि समय क्षेत्र जानकारी निष्पादन योग्य बंडल के साथ नहीं हो रही है, लेकिन मुझे यकीन है कि यह कैसे ऐसा करने के लिए नहीं कर रहा हूँ।
संपादित करें: एक सरल समाधान library.zip zoneinfo निर्देशिका जोड़ने के लिए, अजगर साइट-संकुल निर्देशिका में pytz मॉड्यूल से, होगा।
स्वचालित रूप से ऐसा करने के लिए, मुझे लगता है कि इस परियोजना में समाधान गूगल ट्रांजिट डाटा फीड इस्तेमाल किया, से पीछा किया: http://code.google.com/p/googletransitdatafeed/source/browse/trunk/python/setup.py
मेरे संशोधित setup.py अब की तरह दिखता है:
from distutils.core import setup
import glob
import py2exe
options = {
"py2exe" : {
"compressed": 1,
"optimize": 2,
'packages': ['pytz'],
}
}
setup(console=['pytz_test.py'], options=options)
import pytz
import os
import zipfile
zipfile_path = os.path.join("dist/" 'library.zip')
z = zipfile.ZipFile(zipfile_path, 'a')
zoneinfo_dir = os.path.join(os.path.dirname(pytz.__file__), 'zoneinfo')
disk_basedir = os.path.dirname(os.path.dirname(pytz.__file__))
for absdir, directories, filenames in os.walk(zoneinfo_dir):
assert absdir.startswith(disk_basedir), (absdir, disk_basedir)
zip_dir = absdir[len(disk_basedir):]
for f in filenames:
z.write(os.path.join(absdir, f), os.path.join(zip_dir, f))
z.close()
आपको setuptools के वर्तमान संस्करण की भी आवश्यकता है। विशेष रूप से pkg_resources। 'आयात pkg_resources' आयात विफल नहीं होना चाहिए। – sbaechler
वास्तव में 'pkg_resources' कहां उपयोग किया जाता है? या बस इसे आयात करके? – Triztian