แต่ปรากฏว่าเมื่อติดตั้งโดยใช้ pip โดยคำสั่งด้านล่างก็เกิด Error ฟ้องขึ้น
c:\> python -m pip install pyramid
โดยฟ้อง Error ประมาณว่า
File "C:\Python27\lib\mimetypes.py", line 263, in read_windows_registry
with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: must be string without null bytes or None, not str
เนื่องจาก python มีปัญหากับ Registry บางตัวบน Windows 64 bit
วิธีการแก้ไขมีหลายวิธี ผู้เขียนจึงนำเสนอวิธีที่ผู้เขียนใช้ได้ผล
ซึ่งวิธีอื่นๆสามารถไปอ่านเพิ่มเติมได้ที่ลิง้ค์ข้างล่าง
Thank you for the solution from
http://www.swarley.me.uk/blog/2014/04/23/python-pip-and-windows-registry-corruption/
วิธีการแก้ไขคือ ให้เปิดไฟล์ python27\Lib\mimetypes.py ขึ้นมาแก้ไข
โดยเพิ่มบรรทัดที่มี #new อยู่ข้างหลัง ตามโค้ดด้านล่าง
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, '') as hkcr:
for subkeyname in enum_types(hkcr):
try:
if '\0' in subkeyname: # new
print "Skipping bad key: %s" % subkeyname # new
continue # new
with _winreg.OpenKey(hkcr, subkeyname) as subkey:
หลังจากนั้นก็ Save แล้วก็ลอง install ใหม่ดู
จะพบว่า หลังจากติดตั้งจะมีการ Skip key ไปบางส่วนทำให้ติดตั้งได้ ดังรูป
ก็จะติดตั้งได้เสร็จสิ้นเรียบร้อย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น