Open Source์— issue ๋‚จ๊ฒจ๋ณธ ํ›„๊ธฐ

2021. 9. 24. 07:18ใ†Github

๊ทธ๋ƒฅ ์˜คํ”ˆ์†Œ์Šค์—์„œ ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ์ด์Šˆ์— ๋Œ€ํ•œ ๋‹ต๋ณ€๋„ ์ž˜ ๋‹ฌ๋ ธ๊ณ , tag๋„ ๊ฑธ๋ ค์„œ ๊ธฐ๋…ํ• ๊ฒธ ๊ธ€์„ ๋‚จ๊ธด๋‹ค.

ํ˜„์žฌ ์ ์ž ๊ด€๋ จํ•œ iOS ์•ฑ์„ ์ œ์ž‘ ์ค‘์— ์žˆ์–ด์„œ, liblouis ๋ผ๋Š” ์ ์ž <-> ๋ฌต์ž ์˜คํ”ˆ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•˜๊ณ ์ž ํ–ˆ๋‹ค.

 

๋‚œ๊ด€์ด ์žˆ์—ˆ์ง€๋งŒ local ํ™˜๊ฒฝ์—์„œ 'louis'๋ผ๋Š” ๋ชจ๋“ˆ์„ importํ•˜๋Š”๋ฐ ์„ฑ๊ณตํ–ˆ๊ณ , ๋ฒˆ์—ญ๋„ ์ž˜ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค. ์ด์ œ ์ด๊ฑธ ํ™œ์šฉํ•ด์„œ ์•ฑ์— ์ง‘์–ด ๋„ฃ์–ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์• ์ดˆ์— liblouis๋ผ๋Š” ์˜คํ”ˆ์†Œ์Šค๋Š” C๋ฅผ ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ž‘์„ฑ ๋œ ๊ฒƒ์ด๊ณ , ์ด์ œ ๊ฑฐ๊ธฐ์„œ ๋ณ€ํ˜•์„ ๊ฑฐ์ณ Cython(C+ Python)๊ณผ JavaScript๋กœ ์ผ๋ถ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์˜€๋‹ค.

 

์ฆ‰, Swift๋กœ ์ด ์˜คํ”ˆ์†Œ์Šค๋ฅผ ๋ฒˆ์—ญํ•ด์„œ ์ œ์ž‘ํ•˜๋Š” ๊ฑด ๋ถˆ๊ฐ€๋Šฅ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•ด๋‚ธ ๋Œ€์•ˆ์ด Google Cloud Function์ด๋‚˜ Django๋ฅผ ์ด์šฉํ•ด์„œ ํŒŒ์ด์ฌ ํ•จ์ˆ˜๋ฅผ ์งœ๊ณ , ๊ทธ๊ฑธ http ํŠธ๋ฆฌ๊ฑฐ๋กœ ํ™œ์šฉํ•ด์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ชจ๋ฅด๋Š”๊ฒŒ ๋งŽ๋‹ค๋ณด๋‹ˆ ๊ฐ„๊ณผํ•œ๊ฒŒ ์žˆ์—ˆ๋‹ค.

 

Python์œผ๋กœ ๋ญ”๊ฐ€๋ฅผ ๋ฐฐํฌํ•˜๋ ค๋ฉด, ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค๋Š” liblouis๊ฐ€ pip install์„ ํ†ตํ•ด ํŒจํ‚ค์ง•๋œ ์ƒํƒœ๋กœ Pypi์— ์—…๋กœ๋“œ๋˜์–ด ์žˆ์–ด์•ผ ํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ฒฐ๊ตญ requirement.txt๋‚˜ requirements.txt๋กœ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๋Š” ํ˜•์‹์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•œ๊ฒŒ, ๊ทธ๋Ÿผ ๋‚ด๊ฐ€ ๋งŒ๋“ค์ง€ ๋ญ! ์˜€๋‹ค.

 

 

์ถ”ํ›„์— ๋ฐฐํฌํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…์„ ํ•˜๊ฒ ์ง€๋งŒ, ์šฐ์„  Pypi์— python-louis๋ผ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์•„๋‚˜์ฝ˜๋‹ค ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ pip install python-louis๋ฅผ ํ•ด๋ณด๋‹ˆ ์„ค์น˜๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์˜ˆ์ƒํ–ˆ๋˜ import louis๋Š” ์ „ํ˜€ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๋‹ค.

 

์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ๊ณ„์†ํ•ด์„œ ๊ตฌ๊ธ€๋งํ•˜๊ณ  Stack Overflow๋„ ๋’ค์กŒ์ง€๋งŒ, ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ •๋‹ต์€ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค.
์• ์ดˆ์— ๋‚ด๊ฐ€ ์ง  __init__.py์™€ setup.py๊ฐ€ ์•„๋‹ˆ์—ฌ์„œ ์–ด๋””๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฑด๋“œ๋ ค์•ผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„์ง€๋„ ๊ฐ์ด ์•ˆ ์™”๋‹ค.

 

 

๋ญ”๊ฐ€ ๊นƒํ—ˆ๋ธŒ ์˜คํ”ˆ์†Œ์Šค ์ด์Šˆ์— ๊ธ€์„ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋ง์„ค์ž„์ด ์žˆ์–ด์„œ, ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ์ด์Šˆ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์ข‹์„์ง€ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์šฐ์„  issue๋“ค์— ๋‚ด๊ฐ€ ์งˆ๋ฌธํ•˜๊ณ ์ž ์žˆ๋Š”๊ฒƒ์ด ์ •๋ง ์—†๋Š”๊ฒŒ ๋งž๋Š”์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•˜๊ณ , ์ฒœ์ฒœํžˆ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐ”์™€, ์งˆ๋ฌธํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ”๋ฅผ ์ •๋ฆฌํ–ˆ๋‹ค.

 

<์ตœ์ข… ์ด์Šˆ>

https://github.com/liblouis/liblouis/issues/1114

 

Is it possible to make pip package for python? · Issue #1114 · liblouis/liblouis

It seems that python3 setup.py.in install or brew install liblouis works fine. I installed it successfully in my local root, and import louis works fine also. But I really need pip package so that ...

github.com

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ด์Šˆ!

์ •๋ฆฌํ•˜์ž๋ฉด,

 

1. ๋‚ด๊ฐ€ ์ด repo๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ฑ๊ณตํ•œ ๊ฒƒ

2. ๋‚ด๊ฐ€ ์ด repo ์˜คํ”ˆ์†Œ์Šค๋ฅผ ํ†ตํ•ด ํ•˜๊ณ ์ž ํ•œ ๊ฒƒ

3. ๊ทธ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜(Pypi ์—…๋กœ๋“œ, Pip install, import louis)

4. ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐœ๊ฒฌํ•œ ์‚ฌ์‹ค(homebrew์šฉ ํŒจํ‚ค์ง€ initํŒŒ์ผ๊ณผ ํ˜„์žฌ repo์˜ initํŒŒ์ผ์ด ๋งค์šฐ ๋‹ค๋ฆ„)

5. ์ตœ์ข… ์งˆ๋ฌธ๋“ค

 

์ด๋ ‡๊ฒŒ ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

 

๋‚˜์˜ ๋ฌธ์ œ์ ์— ๋Œ€ํ•œ ์ด์œ ์™€, ๊ฐ„๋žตํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œํ•˜๋Š” ๋‹ต๋ณ€์ด 1์‹œ๊ฐ„ ์ด๋‚ด๋กœ ๋‹ฌ๋ ค์„œ ๋น ๋ฅด๊ฒŒ ์–ด๋–ค ์„ ํƒ์„ ํ•ด์•ผํ• ์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. (๊ฒฐ๋ก ์€ ํŒจํ‚ค์ง•์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋ผ๋Š” ์˜๊ฒฌ์„ ์ฃผ์—ˆ๋‹ค.)

 

๋˜ํ•œ ๋ช‡ ์‹œ๊ฐ„ ๋’ค์— ๋‹ค๋ฅธ Contributor๊ฐ€ ์™€์„œ 'python'์ด๋ผ๋Š” ํƒœ๊ทธ/๋ผ๋ฒจ๋„ ๋‹ฌ์•„์ฃผ์—ˆ๋‹ค! 

์•„๋งˆ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ด repo ์ค‘์— Python ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ์œผ๋ฉด ๋‚˜์˜ ์ด์Šˆ ์งˆ๋ฌธ์„ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์„๊ฒƒ์ด๋‹ค. 

 

์ฒ˜์Œ์œผ๋กœ ๋‚ด๊ฐ€ ์ด์Šˆ๋ฅผ ๋‚จ๊น€์œผ๋กœ์จ Open Source์— Contributeํ–ˆ๋‹ค๋Š” ๊ฒƒ์€ ๊ฝค ๋ฟŒ๋“ฏํ•œ ์ผ์ด์—ˆ๋‹ค๐Ÿค“

 

 

 

 

'Github' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

gitignore ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ  (0) 2021.10.07