الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في تحزيم الكود

بدأه Py4object في 9 أغسطس 2012 · 23 رد · 1,346 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

رمضان كريم

كل ما احاول استخدام اداة Py2exe لتحزيم سكربت بايثون بيطلع لي هل الخطاء

ما كنت اعرف كيف بدي حل المشكلة الرجاء المساعدة

u0T69476.png

.Because it's FUN to be ALIVE

#2

استخدم اداه PyInstaller افضل و سهل

#3

حاولت بشتى الطرق ولم انجح :(

.Because it's FUN to be ALIVE

#4

السلام عليكم

قم بكتابة برنامج تجربي و احفظه في ملف (hello.py)

print "hello, world!"

قم بكتابة برنامج أخر و أعطه إسم (setup.py)

import py2exe
from distutils.core import setup

setup(console = ['hello.py'])

قم بفتح وندوز دوس DOS واذهب إلى المكان الذي يوجد به الملفات ثم قم بطباعة الأمر الأتي

setup.py py2exe

ستجد الملف التنفدي في المجلد : dist

تم تعديل هذه المشاركة بواسطة biginner2000 في 22 أغسطس 2012 في 22:33

1
#5

مشكور مشي الحال ولقيت حل لمشكلتي كنت عم استخدم PY2EXE لاصدار 2.5

بس المشكلة هلق لما كون مستحدم مكاتب الملف التنفيذي بيطلع فيه مشاكل

.Because it's FUN to be ALIVE

#6

ماهي المشكلة التي تظهر لك

1
#7
1345670447112.png

1345670447673.png

اخي هي مثالين

.Because it's FUN to be ALIVE

#8

السلام عليكم

قم بتغير الملف (setup.py) بالأتي

from distutils.core import setup
import py2exe
setup(windows = [{'script' :  'example.py'}],
  	options = { 'py2exe': {'packages':'encodings',
                        	'includes': 'cairo, pango, pangocairo, atk,gobject, gio',
                        	}})

ثم أعد التحزيم

ضع إسم البرنامج بدل(example.py)

تم تعديل هذه المشاركة بواسطة biginner2000 في 23 أغسطس 2012 في 19:07

#9
biginner2000 كتب:

السلام عليكم

قم بتغير الملف (setup.py) بالأتي

from distutils.core import setup
import py2exe
setup(windows = [{'script' :  'example.py'}],
  	options = { 'py2exe': {'packages':'encodings',
                        	'includes': 'cairo, pango, pangocairo, atk,gobject, gio',
                        	}})

ثم أعد التحزيم

ضع إسم البرنامج بدل(example.py)

عاجز عن شكرك اخي الكريم ولكن لا اعلم

لي معسرة بوشي :P ظهر لي مشكلة جديدة

1345766853151.png

~~

134576685392.png

.Because it's FUN to be ALIVE

#10

أضف هذا السطر

from distutils.core import setup
import py2exe
setup(windows = [{'script' :  'example.py'}],
  	options = { 'py2exe': {'packages':'encodings',
                 			'includes': 'cairo, pango, pangocairo, atk,gobject, gio',
                    		}},
  	data_files=['example.glade']
)
#11
biginner2000 كتب:

أضف هذا السطر

from distutils.core import setup
import py2exe
setup(windows = [{'script' :  'example.py'}],
  	options = { 'py2exe': {'packages':'encodings',
                 			'includes': 'cairo, pango, pangocairo, atk,gobject, gio',
                    		}},
  	data_files=['example.glade']
)

~~

1345770210711.png

تم تعديل هذه المشاركة بواسطة Py4object في 24 أغسطس 2012 في 04:05

.Because it's FUN to be ALIVE

#12

ربما نسيت "(" في أخر الملف

#13
biginner2000 كتب:

ربما نسيت "(" في أخر الملف

اسف على التحشيش اخي بالفعل نسيتها

بس كانو بقية مشكلة وحدة

1345771191501.png

.Because it's FUN to be ALIVE

#14

أضف DLL الموجودة في المجلد (C:\Python26\Lib\site-packages\gtk-2.0\runtime\bin) إلى مجلد dist

libglade-2.0-0.dll

libgladeui-1-11.dll

#15

اخي الملف الاول libglade-2.0-0.dll كان موجود بالاصل في مجلد dis وقمة بنسخه وإستبداله

اما الملف الثاني فلم اجده في C:\Python26\Lib\site-packages\gtk-2.0\runtime\bin اطلاقا

.Because it's FUN to be ALIVE

#16

ممكن أخي تعطيني المشروع لأجربه عندي

#17

اخي هذا رابط المشروع

بس لاتضحك لى طريقة كتابتي للاكواد رجاءا :P

http://www.mediafire.com/?ce003xqjtyiirjb

.Because it's FUN to be ALIVE

#18

أخي أعطني ملفات (py.) و ملفات (glade.py) فقط

#20

يجب إضافة (libxml2-2.dll) الملف موجود في C:\Python26\Lib\site-packages\gtk-2.0\runtime\bin

البرنامج بعد التحزيم http://www.mediafire.com/?o0kz4t8c73wjwbn

تم تعديل هذه المشاركة بواسطة biginner2000 في 24 أغسطس 2012 في 07:19

#21

شكرا جزيلا اخي الكريم

ولكن هل تستطيع ان تشرح كود setup.py ليكون مرجع لي وللجميع !(ان اردت في موضوع منفصل)

اشكرك جزيلا

.Because it's FUN to be ALIVE

#22

(setup.py)يقوم باستداء(()setup) من distutils.core مع الكثير من الحجج (arguments)بما في ذلك البيانات الفوقية (meta-data)حول التطبيق أو لتثبيت الوحدة(module)، وقائمة من الاشياء لتثبيت.

المطور يستخدم البرنامج النصي (setup.py) لإنشاء الحزمة، و المستخدم يستخده لتثبيت الحزمة.

مثال :

from distutils.core import setup

setup(name = "Test",
  	version = "1.0",
  	description = "dscription of the application",
  	author = "Name of author",
  	author_email = "example@live.com",
  	url = "http://www.example.org",
  	packages = ["App"],
  	data_files = [("Test/data",["data/readme.txt"])],

  	long_description = """
long description of the app : bl bla bla bla 
"""  
)

setup.py هو المكان الذي تحديد فيه جميع أجزاء الملف التنفيذي،وبعض البيانات الوصفية.

name:اسم التطبيق

version:رقم الإصدار

description:وصف موجز للتطبيق

author:صاحب التطبيق

author_email:عنوان بريده الإلكتروني

url:موقع الانترنت حيث يتم استضافة التطبيق

packages:قائمة وحدات بايثون (المجلدات التي تحتوي على مجموعة من ملفات بيثون المدرجة في ملف(init__.py__ ))

data_files:هذه هي قائمة من الملفات التي ليست تنفيذية.سيتم تثبيت هذه الملفات في المكان المخصص لها،يجب أن تضمن جميع هذه الملفات في ملف MANIFEST.in، وإلا لن يتم تعبئتها.

long_dscription:وصف طويل للتطبيق.

هذا برنامج بسيط لتجربة

http://www.mediafire...p28643qaqt7qq93

قم بفك الملف المضغوط في أي مكان تختاره

نحن الآن على استعداد لإنشاء توزيع المصدر.إذهب إلى المكان الذي يوجد به التطبيق

قم بطباعة الأمر الآتي

setup.py sdist

ستجد التطبيق مضغوط في المجلد dist

ثتبيت أرشيف المصدريتم كالآتي

setup.py install

تم تعديل هذه المشاركة بواسطة biginner2000 في 26 أغسطس 2012 في 02:57

1
#23

شكرا جزيلا اخي أستفدت منك كثيرا

.Because it's FUN to be ALIVE

#24

لاشكر على واجب.

إذا كانت لك أي أسئلة فأنا في الخدمة

1

مواضيع مشابهة