Fabric: py2.7.5 ํŒน ์˜ค๋ฅ˜: ImportError: NetworkError ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 07์›” 12์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: fabric/fabric

ํŒŒ์ผ "/usr/lib/python2.7/site-packages/fabric/network.py", 16ํ–‰,
fabric.exceptions์—์„œ NetworkError ๊ฐ€์ ธ์˜ค๊ธฐ
ImportError: NetworkError ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์–ด๋–กํ•ด?

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

๋‚˜๋Š” ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด 2๋ฅผ ๋–จ์–ด ๋œจ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ 3์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜‚

๋˜ํ•œ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ์ž˜๋ชป ์„ค์น˜๋˜์—ˆ๊ฑฐ๋‚˜(์ด์™€ ๊ฐ™์€ ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ค๋ฅ˜์˜ ์ผ๋ฐ˜์ ์ธ ์›์ธ - ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” setuptools) ๋ฒ„์ „ 2๊ฐ€ ์„ค์น˜๋œ ๋ฒ„์ „ 1 ๋ฌธ์„œ๋ฅผ ๋”ฐ๋ฅด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

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

์•„๋ฌด๋„ ๋‚˜์—๊ฒŒ ๋Œ€๋‹ตํ•  ์ˆ˜ ์—†์–ด?

์•ˆ๋…•ํ•˜์„ธ์š” @neemxyang -

๋‚ด ์ œ์•ˆ์€ Fabric์„ ์ œ๊ฑฐํ•˜๊ณ  ํ™˜๊ฒฝ์— ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ๋กœ์šด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์— Fabric์„ ์„ค์น˜ํ•ด ๋ณด์‹ญ์‹œ์˜ค. 2.x๋Š” Python 2๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ Fabric 1.x๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Fabric-2.x๋Š” Python 2.7์„ ์ง€์›ํ•˜์ง€๋งŒ Fabric-1.x๋Š” Python 3์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›๋ž˜ ์—ฌ๊ธฐ์— ๊ฒŒ์‹œ๋œ ์˜ค๋ฅ˜ ์ž์ฒด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ํŒจ๋ธŒ๋ฆญ์ด ์‹ค์ œ๋กœ ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋งค์šฐ ์‹ฌ๊ฐํ•œ pip ์„ค์น˜ ๋˜๋Š” python ๊ฒฝ๋กœ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด ํ›จ์”ฌ ๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Fabric-2.x๋Š” Python 2.7์„ ์ง€์›ํ•˜์ง€๋งŒ Fabric-1.x๋Š” Python 3์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Python 2 ์ง€์› ์„ ์ค‘๋‹จํ•œ ๋ช‡ ๊ฐ€์ง€ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š”๋ฐ Fabric์ด ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์‚ฌ์‹ค์„ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด 2๋ฅผ ๋–จ์–ด ๋œจ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ 3์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜‚

๋˜ํ•œ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ์ž˜๋ชป ์„ค์น˜๋˜์—ˆ๊ฑฐ๋‚˜(์ด์™€ ๊ฐ™์€ ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ค๋ฅ˜์˜ ์ผ๋ฐ˜์ ์ธ ์›์ธ - ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” setuptools) ๋ฒ„์ „ 2๊ฐ€ ์„ค์น˜๋œ ๋ฒ„์ „ 1 ๋ฌธ์„œ๋ฅผ ๋”ฐ๋ฅด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Python 3.5.3์„ ์‚ฌ์šฉํ•˜๋Š” ํŒจ๋ธŒ๋ฆญ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

* fabric.exceptions์—์„œ NetworkError ๊ฐ€์ ธ์˜ค๊ธฐImportError: 'NetworkError' ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค *

๋‚ด virtualenv ๋‚ด๋ถ€์˜ ํŒจ๋ธŒ๋ฆญ์„ ์ œ๊ฑฐํ•˜๊ณ  fabric3์„ ์„ค์น˜ํ•˜์—ฌ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

pip ์ œ๊ฑฐ ํŒจ๋ธŒ๋ฆญ

ํ• ์„ค์น˜ fabric3

(venv-book-tuto) root@cs-6000-devshell-vm-842dba28-6daa-4d35-9b97-4b7c0ff7b2db:/home/<user>/venv-book-tuto/django# fab configure_postgres
Traceback (most recent call last):
  File "/home/<user>/venv-book-tuto/bin/fab", line 10, in <module>
    sys.exit(program.run())
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/invoke/program.py", line 352, in run
    self.parse_collection()
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/invoke/program.py", line 444, in parse_collection
    self.load_collection()
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/fabric/main.py", line 82, in load_collection
    super(Fab, self).load_collection()
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/invoke/program.py", line 661, in load_collection
    module, parent = loader.load(coll_name)
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/invoke/loader.py", line 76, in load
    module = imp.load_module(name, fd, path, desc)
  File "/home/<user>/venv-book-tuto/lib/python3.5/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/<user>/venv-book-tuto/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 673, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/<user>/venv-book-tuto/django/fabfile.py", line 42, in <module>
    from fabric.api import *
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/fabric/api.py", line 10, in <module>
    from fabric.context_managers import (cd, hide, settings, show, path, prefix,
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/fabric/context_managers.py", line 27, in <module>
    from fabric.state import output, win32, connections, env
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/fabric/state.py", line 9, in <module>
    from fabric.network import HostConnectionCache, ssh
  File "/home/<user>/venv-book-tuto/lib/python3.5/site-packages/fabric/network.py", line 16, in <module>
    from fabric.exceptions import NetworkError
ImportError: cannot import name 'NetworkError'
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰