Fabric: ImportError: Crypto๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 04์›” 29์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: fabric/fabric

์•ˆ๋…•ํ•˜์„ธ์š”,

ํŒจ๋ธŒ๋ฆญ์— ์˜์กดํ•˜๋Š” ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ fabric==1.10.2 ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  ์ด ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํƒ ์ถ”์ ์œผ๋กœ ์ธํ•ด ๋ถˆ๊ฐ€์‚ฌ์˜ํ•˜๊ฒŒ ์‹คํŒจํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

19:22:54.233     from fabric import api as fabric_api
19:22:54.233   File "/home/go/work/pipelines/make-ci-00/code/.venv/local/lib/python2.7/site-packages/fabric/api.py", line 11, in <module>
19:22:54.233     from fabric.decorators import (hosts, roles, runs_once, with_settings, task,
19:22:54.233   File "/home/go/work/pipelines/make-ci-00/code/.venv/local/lib/python2.7/site-packages/fabric/decorators.py", line 9, in <module>
19:22:54.233     from Crypto import Random
19:22:54.233 ImportError: No module named Crypto

Fabric์€ ๋ช‡ ์ฃผ ๋™์•ˆ ๋™์ผํ•œ ๋ฒ„์ „์— ๊ณ ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจ๋ธŒ๋ฆญ๊ณผ ํ•จ๊ป˜ pycrypto ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

๋ช…์‹œ์ ์œผ๋กœ Crypto.Random ๊ฐ€์ ธ์˜ค๊ธฐ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํŒจ๋ธŒ๋ฆญ์˜ ์œ ์ผํ•œ ์ข…์†์„ฑ์€ paramiko ์ด๋ฉฐ pycrypto ๋Š” paramiko ๋ฌธ์„œ ์™ธ์—๋Š”

IMO ๊ฐ€์ ธ ์˜ค๋Š” ๊ฒฝ์šฐ pycrypto ๋ช…์‹œ ์ ์œผ๋กœ ํŒจ๋ธŒ๋ฆญ ๋‚ด์—์„œ ๊ธฐํ˜ธ pycrypto ๋‚ด ์ข…์†์„ฑ ์ธ์šฉ ํ•  ๋•Œ๋Š” setup.py .

๊ฐ์‚ฌ ํ•ด์š”!

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Paramiko 2.0์€ ์ตœ๊ทผ์— ์ถœ์‹œ ๋œ (๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š”์— ๋”ฐ๋ผ ์ƒ๊ฐ cryptography ๋ณด๋‹ค๋Š” pycrypto ). setup.py ์˜ 1.10.3 ๋ฒ„์ „ ์€ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. 1.10.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

c7d3034b5f217f2b4e7989f2c8e9bbea335be270์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

Paramiko 2.0์€ ์ตœ๊ทผ์— ์ถœ์‹œ ๋œ (๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š”์— ๋”ฐ๋ผ ์ƒ๊ฐ cryptography ๋ณด๋‹ค๋Š” pycrypto ). setup.py ์˜ 1.10.3 ๋ฒ„์ „ ์€ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. 1.10.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

c7d3034b5f217f2b4e7989f2c8e9bbea335be270์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1.11.1 ๋ฒ”ํ”„ํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1.10.2 ์˜ค๋Š˜ ์™œ ๊นจ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค...

@jamesob ์ด ์ƒˆ ํ™˜๊ฒฝ์—์„œ Fabric์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜์—ฌ ํŠธ๋ฆฌ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๊นŒ? @gtback์ด ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด paramiko๋Š” ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ผ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด paramiko<2์— ํ•€์„ ๊ณ ์ •ํ•˜๋Š” ์ด์ „ Fab ๋ฆด๋ฆฌ์Šค๋ฅผ ๋‚ด๋†“์•˜์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ผ์ด ๋ง๊ฐ€์ง„ ์ด์œ  ์ค‘ ํ•˜๋‚˜์— ์žˆ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ฆ‰, ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์–ด๋””์—์„œ๋“  Crypto๋ฅผ ์ง์ ‘ ๊ฐ€์ ธ์˜ค๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ๋ณด์•˜๊ณ  ์˜ˆ, PyCrypto + ๋ณ‘๋ ฌํ™” ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„์˜ ๋ฉ์ฒญํ•œ ์กฐ์ •์„ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. Paramiko ๋ฒ„์ „ ํ•€์„ ์‹คํ–‰ ์ทจ์†Œํ•˜๋ฉด ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(paramiko 2๊ฐ€ ์•ˆ์ •์ ์ธ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜๋ฉด ์–ธ์  ๊ฐ€ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ, ์ด๊ฒƒ์„ ํ‘œ๋ฉดํ™”ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰