পাইথন ডিম ফাইলটি কীভাবে তৈরি করবেন


91

পাইথনে ডিমের ফাইল সম্পর্কে আমার প্রশ্ন রয়েছে।

আমার কাছে পাইথন কোডটি প্যাকেজ দ্বারা আয়োজিত হয়েছে এবং আমি ডিমের ফাইল তৈরির চেষ্টা করছি। আমি নির্দেশাবলী অনুসরণ করছি , তবে সেগুলি খুব সাধারণ।

সেই অনুসারে, মনে হচ্ছে আমার একটি সেটআপ.পি ফাইল থাকা দরকার।

  1. আপনি কি আমাকে দয়া করে বলতে পারেন আমাকে সেটআপ.পি ফাইলের মধ্যে কী লাগাতে হবে এবং এটি কোথায় থাকতে হবে?
  2. আমি মনে করি এটি সেটআপ.পি তৈরির জন্য পর্যাপ্ত এবং তারপরে ডিমের ফাইল পাওয়ার জন্য "setup.py bdist_egg" শুরু করুন। আপনি দয়া করে নিশ্চিত করতে পারেন?
  3. ডিমের ফাইলগুলিতে কেবল .pyc ফাইলগুলি অন্তর্ভুক্ত করা কি সম্ভব?
  4. .Egg ফাইলটি থাকার পরে আমি কীভাবে আনপ্যাক না করেই কেবল কোডটি শুরু করতে java -jar <jar file>পারি?

ডিমের পরিবর্তে আমার কী ব্যবহার করা উচিত? ডিম সম্পর্কে আমার প্রশ্ন এখানে স্ট্যাকওভারফ্লো.com
সবুজ

@ ইয়াহেন ইয়াকিমোভিচ: সেই লিঙ্কটি এখন একটি পার্কযুক্ত স্প্যাম ডোমেন। প্যাকেজিং.পাইথন.আর.ইন / স্লেস্ট / উইহেল_ইগ ব্যবহার করার জন্য সম্ভবত সম্পাদনার উপযুক্ত ?
ক্রিস অ্যাডামস

উত্তর:


74

আপনি ভুল ডকুমেন্টেশন পড়ছেন। আপনি এটি চান: https://setuptools.readthedocs.io/en/latest/setuptools.html#develop-deploy-the-project-source-in-de વિકાસment-mode

  1. তৈরি করা হচ্ছে setup.py পাইথন এর স্ট্যান্ডার্ড গ্রন্থাগার ডকুমেন্টেশনে distutils ডকুমেন্টেশনে আচ্ছাদিত করা হয় এখানে । মূল পার্থক্য (পাইথন ডিমের জন্য) আপনি import setupথেকে এসেছেন setuptools, না distutils

  2. হ্যাঁ এটা ঠিক হওয়া উচিত।

  3. আমি তাই মনে করি না. pycফাইলগুলি সংস্করণ এবং প্ল্যাটফর্ম নির্ভর হতে পারে। আপনি ডিমটি খুলতে সক্ষম হতে পারেন (এগুলি কেবল জিপ ফাইল হওয়া উচিত) এবং .pyফাইলগুলি রেখে .pycফাইলগুলি মুছতে পারেন , তবে এটির প্রস্তাব দেওয়া হবে না।

  4. আমি নিশ্চিত নই. এটি হতে পারে "উন্নয়ন মোড"। অথবা আপনি কিছু "পাইপেক্স" বা "পাইপ্যাপ" মোড খুঁজছেন?


51
+1: .pyc ফাইলগুলি কখনই অন্তর্ভুক্ত করবেন না। তারা সম্পূর্ণ বিভ্রান্তিকর। আমরা দুর্ঘটনাক্রমে উইন্ডোজ .pyc ফাইলগুলি একটি লিনাক্স বাক্সে অনুলিপি করেছি এবং এখন পর্যন্ত সবচেয়ে বিভ্রান্তিকর ত্রুটি ট্রেসব্যাক বার্তা পেয়েছি। কারণ ফাইলের নামগুলি যেখানে মূল উইন্ডোজ ফাইলের নাম। প্রোডাকশন সার্ভারে এই উইন্ডোজ ফাইলের নামগুলি দেখে ভীষণ ভয়ঙ্কর হয়েছিল।
এস .লট

শুধু পাইনস্টলার ব্যবহার করুন
নিকপিক

30

# 4 এর জন্য, আপনার অ্যাপ্লিকেশনটির জন্য জার ফাইল দিয়ে জাভা শুরু করার নিকটতম জিনিসটি পাইথন ২.6 এ এক্সিকিউটেবল জিপ ফাইল এবং ডিরেক্টরিতে একটি নতুন বৈশিষ্ট্য ।

python myapp.zip

যেখানে myapp.zip হ'ল একটি জিপ এমন একটি __main__.pyফাইল যা কার্যকর করতে স্ক্রিপ্ট ফাইল হিসাবে কার্যকর করা হয়। আপনার প্যাকেজ নির্ভরতা ফাইল অন্তর্ভুক্ত করা যেতে পারে:

__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py

আপনি একটি ডিমও কার্যকর করতে পারেন, তবে জ্বলন ততটা সুন্দর নয়:

# Bourn Shell and derivatives (Linux/OSX/Unix)
PYTHONPATH=myapp.egg python -m myapp
rem Windows 
set PYTHONPATH=myapp.egg
python -m myapp

এটি myapp.egg কে পাইথন পথে রাখে এবং মডিউল চালানোর জন্য -m আর্গুমেন্ট ব্যবহার করে। আপনার myapp.egg সম্ভবত এর মতো দেখতে পাবেন:

myapp/__init__.py
myapp/somelibfile.py

এবং অজগর চালিত হবে __init__.py( __file__=='__main__'কমান্ড লাইন ব্যবহারের জন্য আপনার অ্যাপ্লিকেশনটিতে এটি পরীক্ষা করা উচিত )।

ডিম ফাইলগুলি কেবল জিপ ফাইল তাই আপনি __main__.pyএকটি জিপ সরঞ্জাম দিয়ে আপনার ডিম যুক্ত করতে এবং পাইথন ২.6 এ এটি কার্যকর করতে সক্ষম হতে python myapp.eggএবং পাইথনপথ পরিবেশের পরিবর্তনশীল সেট করা আছে যেখানে উপরের জ্বলনের পরিবর্তে এটি চালানো যেতে পারে ।

শিবাংয়ের মাধ্যমে কীভাবে সরাসরি নির্বাহযোগ্য করা যায় তা নির্বাহযোগ্য জিপ ফাইল সম্পর্কিত আরও তথ্যের বিষয়ে মাইকেল ফোর্ডের ব্লগ পোস্টে পাওয়া যাবে ।


বিকল্পভাবে কেউ ভার্চুয়াল পরিবেশের গাইড.পিথন -ডিসিট্রিবিউট.আর
ইনস্টেলেশন.

10

আমি মনে করি আপনার এখন ডিমের পরিবর্তে বিতরণের জন্য পাইথন চাকা ব্যবহার করা উচিত ।

চাকাগুলি পাইথন বিতরণের নতুন মান and এবং এটি ডিম প্রতিস্থাপনের উদ্দেশ্যে। সমর্থন পিপ> = 1.4 এবং সেটআপলগুলিতে> = 0.8 এ দেওয়া হয়।


4
আমি যতদূর বলতে পারি আপনি চাকা আমদানি করতে পারবেন না। কখনও কখনও আমি আমার স্ক্রিপ্টটিকে আরও একটি পোর্টেবল করার জন্য একটি ডিমের সাথে লাগাতে চাই।
গিলেস্পি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.