سؤال

وأنا أقرأ في كتاب فكر في بايثون بواسطة ألين داوني.بالنسبة للفصل الرابع، يتعين على المرء استخدام مجموعة من الوحدات تسمى مستنقع.أنا قد حملت و نزلت هذا.

المشكلة هي أن الوحدات مكتوبة بلغة Python 2 ولدي Python 3 (في Windows 7 RC1).عندما قمت بتشغيل وحدة TurtleWorld من Swampy، تلقيت رسائل خطأ حول عبارات print وexec، والتي أصبحت الآن وظائف في Python 3.لقد أصلحت هذه الأخطاء من خلال تضمين الأقواس مع print وexec في كود واجهة المستخدم الرسومية والوحدات النمطية العالمية.لقد تلقيت أيضًا خطأً مفاده أنه لا يمكن العثور على وحدة Tkinter.اتضح أنه في Python 3، يتم كتابة اسم الوحدة بحرف صغير t.

الخطأ الثالث وهو الأصعب:خطأ في الاستيراد:لا توجد وحدة باسم tkFont.

هل لدى أي شخص أي فكرة، من فضلك؟شكرًا لك.

هل كانت مفيدة؟

المحلول

ولم يتم حتى الآن إعادة كتابة العديد من المكتبات المهمة طرف ثالث لبيثون 3؛ سيكون لديك التمسك بيثون 2.x ل الآن. لا توجد وسيلة من حوله. كما جاء على rel="nofollow بايثون الرسمي تحميل الصفحة و

<اقتباس فقرة>   

إذا كنت لا تعرف أي إصدار ل   استخدام، وتبدأ مع بايثون 2.6.4. أكثر   طرف ثالث البرمجيات القائمة هو   متوافق مع بايثون 2 من بيثون 3   في الوقت الحالي.

نصائح أخرى

ويبدو tkinter ولحقت أخيرا مع بيثون 3 - أصبح tkFont tkinter.font

http://docs.pythonsprints.com/python3_porting/py-porting.html

#!/usr/bin/env python3.2
# -*- coding: utf-8 -*-
#
#       font_ex.py
#       

import tkinter

top = tkinter.Tk()

butt01 = tkinter.Button(top, text="Hello World", font=('Helvetica', 24,))

custom_font_serif = ('Times', 24, 'bold')
butt02 = tkinter.Button(top, text="Hello World", font=custom_font_serif)

custom_font_sans = ('Helvetica', 36, 'italic')
butt03 = tkinter.Button(top, text="Hello World", font=custom_font_sans)

butt01.pack()
butt02.pack()
butt03.pack()

top.mainloop()

لمستخدمي ماك:أنا مبتدئ في لغة بايثون وواجهت نفس المشكلة بالضبط.أنا أكتب هذا حتى لا يضيع الآخرون عدة ساعات في محاولة اكتشاف ذلك.إليك ما تفعله:

  • لا تقم بتثبيت Python 3 للأسباب المذكورة أعلاه، أي:لتجنب الاضطرار إلى تغيير كل كود Swampy.بدلاً من ذلك، قم بتنزيل أحدث إصدار من Python 2 (استخدمت 2.7.5).
  • ثم قم بتنزيل ملف Swampy-2.1.1.tar.gz من هنا: https://pypi.python.org/pypi/swampy/2.1.1.قم باستخراج هذا الملف بالنقر المزدوج عليه في مجلد التنزيلات لديك.
  • افتح المجلد الناتج Swampy 2.1.1.يجب أن تشاهد عدة عناصر، بما في ذلك المجلد، Swampy.
  • ها هي الخطوة الأساسية:اسحب هذا المجلد إلى المجلد الأخير في هذا المسار:Macintosh HD/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages.لاعادتها:اسحب المجلد "swampy" وأسقطه في المجلد "site-packages".
  • بمجرد القيام بذلك ، أطلق النار على Python في المحطة واكتب "استيراد swampy.turtleworld." إذا رأيت شيفرون (>>>) ولم ترى رسالة خطأ ، فأنت على ما يرام في متابعة الدروس.

وهناك أداة تحويل لتحويل بايثون 2 متاحة للعمل مع بيثون 3: http://svn.python.org/view/sandbox/trunk/2to3/

ولست متأكدا كيف أن هذا يمتد إلى مكتبات 3rd الطرف ولكن قد يكون من المفيد تمرير هذا على رمز المستنقعات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top