Tainan.py, Experience about package

  • 1,879 views
Uploaded on

Happy to share my experience in tainan.py :)

Happy to share my experience in tainan.py :)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • 這次上台自已也準備了一些資料,希望對大家有幫助。
    Are you sure you want to
    Your message goes here
  • 解惑不少啊!
    相見恨晚!
    Are you sure you want to
    Your message goes here
  • the URL looking very GOOD
    Are you sure you want to
    Your message goes here
  • About PyPI packaging, see also: http://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/ (Sharing Your Labor of Love: PyPI Quick And Dirty — Hynek Schlawack). I tried and found that it's fun hell.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,879
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
3
Comments
4
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. After Coding package and distribute 13年8月11日星期日
  • 2. TIM • 3+Year TrendMicro • Have my own company now 13年8月11日星期日
  • 3. 寫完Code以後 • 聚會都在講寫 Code. • Code 寫完,痛苦就開始了 13年8月11日星期日
  • 4. Distribute 13年8月11日星期日
  • 5. Distribute Flavor • Windows/Mac • self contained • 好大⼀一包,Appliance 13年8月11日星期日
  • 6. Distribute Flavor • linux based • A Collection of self-contained unit • Called Package 13年8月11日星期日
  • 7. Pros • Self Contained: Easy management for app • Second, update is easier ( security fix ) 13年8月11日星期日
  • 8. Cons • Appliance: update is hard • Package: dependency hell 13年8月11日星期日
  • 9. It depends • Sublime in Mac uses systems’s python • Dropbox always uses it’s own python • It takes time.... 13年8月11日星期日
  • 10. Distribute Package • System Package? • Language Package? 13年8月11日星期日
  • 11. RPM 自行代換 deb 13年8月11日星期日
  • 12. RPM 做了什麼事? • 跟系統深度整合 • /var /etc • 升級套件, 智慧地保留備份 Config • 有人幫你測⼀一整組 (也修過bug) • 會用YUM 的人很多 13年8月11日星期日
  • 13. Cheese Shop • pypi • A Center for python package • we install python package from Cheese Shop 13年8月11日星期日
  • 14. 我跟 Python 是好朋友 • sudo pip install django ? • sudo pip install -r requirements.txt? 13年8月11日星期日
  • 15. Don’t use sudo pip • django 1.5 requires more setting or you cannot runserver • You may broken a lot of service such as review board 13年8月11日星期日
  • 16. Caution • Don’t install your programing language’s package into system’s • UseYUM for system wide package • Use virtual environment as developing • avoid by: • export PIP_REQUIRE_VIRTUALENV=true 13年8月11日星期日
  • 17. After finish your code • How To Package to python package • Package To RPM via python package 13年8月11日星期日
  • 18. 13年8月11日星期日
  • 19. The confusing history • distutils in stdlib is the core of package • setuptools is an enhancement of distutils • Distribute is a fork from setuptools • Distribute is merged to setuptools o_O • distutil is too basic and risky to refactor • distutil2 is delayed. 13年8月11日星期日
  • 20. 13年8月11日星期日
  • 21. setup.py • 功能極多! • 但是極好學 • 範例 == 所有 Python 的套件數量 13年8月11日星期日
  • 22. setup.py sample • from distutils.core import setup • setup( name=‘sample’, py_modules=[‘foo.py’], ) 13年8月11日星期日
  • 23. setup.py command • python setup.py bdist_wininst • # Create a wizard to install the package! 13年8月11日星期日
  • 24. setup.py in realworld • specify install_requires • Read README.md • execute git/hg to know version/tag info 13年8月11日星期日
  • 25. how to create RPM? • python setup.py bdist_rpm • Or Find Linux Distribution’s guide and Repo. don’t search “python rpm/deb • Don’t write SPEC file directly. 13年8月11日星期日
  • 26. Future • Distutil2 • setup.cfg !! 13年8月11日星期日
  • 27. some useful tips • entrypoint::console_script • python setup develop • python setup sdist • pip install -r requirements.txt • pip freeze -r base.txt > dev_req.txt • pip install -e <your local repo> 13年8月11日星期日
  • 28. Reference • http://aosabook.org/en/packaging.html • http://wokslog.wordpress.com/2011/06/04/ distutils-diff/ • http://ziade.org/2010/02/18/python- language-summit-summary-of-the- packaging-track/ 13年8月11日星期日
  • 29. Quick Guides • Use setuptools and get easy_install • Use PIP, use pip to install nearly everything • UseVirtual Env to protect environment • Buildout (with system dependency) 13年8月11日星期日