Virtualenv: 'virtualenv.seed.via_app_data'λΌλŠ” λͺ¨λ“ˆμ΄ μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 06μ›” 24일  Β·  27μ½”λ©˜νŠΈ  Β·  좜처: pypa/virtualenv

문제

virtualenv test ν˜ΈμΆœν•  λ•Œ λͺ¨λ“  가상 ν™˜κ²½ 파일이 μžˆλŠ” testλΌλŠ” 폴더λ₯Ό λ§Œλ“€ κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€. κ΄€μ°°λœ λ™μž‘μ€ 폴더 ν…ŒμŠ€νŠΈκ°€ μƒμ„±λ˜μ§€ μ•Šμ€ λ‹€μŒ λ©”μ‹œμ§€μΌ λΏμž…λ‹ˆλ‹€.
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

ν™˜κ²½

μ΅œμ†Œν•œ λ‹€μŒμ„ μ œκ³΅ν•˜μ‹­μ‹œμ˜€.

  • 운영 체제: μš°λΆ„νˆ¬ 20.04
  • pip list virtualenv κ°€ μ„€μΉ˜λœ 호슀트 파이썬의
Package                Version
---------------------- -------------
appdirs                1.4.4
apturl                 0.5.2
awscli                 1.17.14
blinker                1.4
botocore               1.14.14
Brlapi                 0.7.0
certifi                2019.11.28
chardet                3.0.4
chrome-gnome-shell     0.0.0
colorama               0.4.3
command-not-found      0.3
cryptography           2.8
cupshelpers            1.0
dbus-python            1.2.16
defer                  1.0.6
distlib                0.3.0
distro                 1.4.0
distro-info            0.23ubuntu1
docutils               0.16
entrypoints            0.3
filelock               3.0.12
httpie                 1.0.3
httplib2               0.14.0
idna                   2.8
importlib-metadata     1.5.0
jmespath               0.9.4
keyring                18.0.1
language-selector      0.1
launchpadlib           1.10.13
lazr.restfulclient     0.14.2
lazr.uri               1.0.3
louis                  3.12.0
macaroonbakery         1.3.1
more-itertools         4.2.0
netifaces              0.10.4
oauthlib               3.1.0
olefile                0.46
pexpect                4.6.0
Pillow                 7.0.0
pip                    20.1.1
protobuf               3.6.1
pyasn1                 0.4.2
pycairo                1.16.2
pycups                 1.9.73
Pygments               2.6.1
PyGObject              3.36.0
PyJWT                  1.7.1
pymacaroons            0.13.0
PyNaCl                 1.3.0
pyRFC3339              1.1
python-apt             2.0.0
python-dateutil        2.7.3
python-debian          0.1.36ubuntu1
pytz                   2019.3
pyxdg                  0.26
PyYAML                 5.3.1
reportlab              3.5.34
requests               2.22.0
requests-unixsocket    0.2.0
roman                  2.0.0
rsa                    4.0
s3transfer             0.3.3
SecretStorage          2.3.1
setuptools             45.2.0
simplejson             3.16.0
six                    1.14.0
systemd-python         234
ubuntu-advantage-tools 20.3
ubuntu-drivers-common  0.0.0
ufw                    0.36
unattended-upgrades    0.1
urllib3                1.25.8
virtualenv             20.0.24
wadllib                1.3.3
wheel                  0.34.2
xkit                   0.0.0
zipp                   1.0.0
  ```

**Output of the virtual environment creation**

```console
71 setup logging to NOTSET [DEBUG report:42]
88 find interpreter for spec PythonSpec(path=/usr/bin/python3) [INFO builtin:44]
88 proposed PythonInfo(spec=CPython3.8.2.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.8.2 (default, Apr 27 2020, 15:53:34) \n[GCC 9.3.0]', encoding_fs_io=utf-8-utf-8) [INFO builtin:50]
88 accepted PythonInfo(spec=CPython3.8.2.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.8.2 (default, Apr 27 2020, 15:53:34) \n[GCC 9.3.0]', encoding_fs_io=utf-8-utf-8) [DEBUG builtin:52]
89 filesystem is case-sensitive [DEBUG info:28]
Traceback (most recent call last):
  File "/home/florian/.local/bin/virtualenv", line 8, in <module>
    sys.exit(run_with_catch())
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/__main__.py", line 63, in run_with_catch
    run(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/__main__.py", line 17, in run
    session = cli_run(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 24, in cli_run
    session = session_via_cli(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 32, in session_via_cli
    parser, elements = build_parser(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 60, in build_parser
    SeederSelector(interpreter, parser),
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/seeders.py", line 8, in __init__
    possible = self.options("virtualenv.seed")
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 39, in options
    cls._OPTIONS = cls.entry_points_for(key)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 18, in entry_points_for
    return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 18, in <genexpr>
    return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
  File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

우리 μƒμžμ—λŠ” λ°λΉ„μ•ˆ 버전과 pip 버전이 λͺ¨λ‘ μ„€μΉ˜λœ κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ λ°λΉ„μ•ˆ 버전을 μ œκ±°ν•œ 후에도 μ΅œμ‹ (20.0.25) pip λ²„μ „μ—μ„œ μž‘λ™ν•˜λ„λ‘ ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  것이 μž‘λ™ν•©λ‹ˆλ‹€ ...

sudo pip3 install virtualenv==20.0.23

λͺ¨λ“  27 λŒ“κΈ€

virtualenvλŠ” μ–΄λ–»κ²Œ μ„€μΉ˜ν•˜μ…¨λ‚˜μš”?

sudo apt install python3-virtualenv

λ‚˜λŠ” 이미 μ„±κ³΅μ μœΌλ‘œ μ œκ±°ν•˜κ³  μ—¬λŸ¬ 번 λ‹€μ‹œ μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.

이 경우 λ¬Έμ œλŠ” virtualenv ν”„λ‘œμ νŠΈκ°€ μ•„λ‹ˆλΌ λ°λΉ„μ•ˆμ„ λ‹€μ‹œ νŒ¨ν‚€μ§•ν•˜λŠ” κ²ƒμ΄λ―€λ‘œ http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=python3-virtualenvμ—μ„œ 문제λ₯Ό λ³΄κ³ ν•˜μ„Έμš”.

κ·Έλ™μ•ˆ 우리의 λŒ€μ²΄ μ„€μΉ˜ 방법을 μ‚¬μš©ν•˜μ—¬ λ°λΉ„μ•ˆ 버전이 μ•„λ‹Œ https://virtualenv.pypa.io/en/latest/installation.html#installation을 λ‹€μš΄λ‘œλ“œν•  수

@kitterma 참고둜

맀우 λΉ λ₯Έ 응닡을 μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€... λ‹€λ₯Έ μ„€μΉ˜ 방법을 μ‹œλ„ν•˜κ² μŠ΅λ‹ˆλ‹€.

μ—…λ°μ΄νŠΈ:
apt remove둜 μ œκ±°ν•˜κ³  이미 μ„€μΉ˜λ˜μ–΄ μžˆλ‹€κ³  pip둜 μ„€μΉ˜ 방법을 μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. --force-reinstall 둜 μž¬μ„€μΉ˜λ₯Ό μ‹œλ„ν•œ ν›„ λͺ¨λ“  것이 잘 μž‘λ™ν•©λ‹ˆλ‹€.

감사 ν•΄μš”. λ§ˆμ§€λ§‰ Ubuntu λ¦΄λ¦¬μŠ€λŠ” λ°λΉ„μ•ˆμ—μ„œ λͺ‡ 가지 문제λ₯Ό 계속 ν•΄κ²°ν•˜κ³  있던 μ‹œμ μ—μ„œ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. μš°λΆ„νˆ¬μ—μ„œ 직접 μž‘μ—…ν•˜μ§€ μ•Šμ•„μ„œ μžμ„Έν•œ λ‚΄μš©μ€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μž¬μ„€μΉ˜λ‘œ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€.

@kitterma λŠ” pipλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€μ‹œ μ„€μΉ˜ν–ˆμœΌλ©° apt-get에 μœ μ˜ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이 μžμ²΄λŠ” μ—¬μ „νžˆ λ°λΉ„μ•ˆ μˆ˜μ€€μ—μ„œ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

감사 ν•΄μš”. 그것을 놓쳀닀. μš°λΆ„νˆ¬μ—μ„œ ν…ŒμŠ€νŠΈν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ λ°λΉ„μ•ˆμ—μ„œλŠ” μž‘λ™ν•©λ‹ˆλ‹€.

λ‹Ήμ‹ μ˜ virtualenv 버전은 λ¬΄μ—‡μž…λ‹ˆκΉŒ? μ°Έκ³  virtualenv 20.0.24λŠ” λ‚΄λΆ€ κ΅¬ν˜„ μ„ΈλΆ€ 사항 λͺ¨λ“ˆ μ‹œλ“œλ₯Ό λ¦¬νŒ©ν„°λ§ν–ˆμŠ΅λ‹ˆλ‹€... λ”°λΌμ„œ κ·Έ μ΄ν›„λ‘œ μˆ˜μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λ°λΉ„μ•ˆ νŒ¨μΉ˜κ°€ 손상될 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ ν•œλ²ˆ 컴퓨터 μ•žμ—μ„œ ν™•μΈν•˜κ³  ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€.

μ°Έκ³  virtualenv 20.0.24λŠ” λ‚΄λΆ€ κ΅¬ν˜„ μ„ΈλΆ€ 사항 λͺ¨λ“ˆ μ‹œλ“œλ₯Ό λ¦¬νŒ©ν„°λ§ν–ˆμŠ΅λ‹ˆλ‹€... λ”°λΌμ„œ κ·Έ μ΄ν›„λ‘œ μˆ˜μ •ν•˜μ§€ μ•ŠμœΌλ©΄ λ°λΉ„μ•ˆ νŒ¨μΉ˜κ°€ 손상될 수 μžˆμŠ΅λ‹ˆλ‹€.

Ubuntu 20.04의 버전은 20.0.17μž…λ‹ˆλ‹€.

문제의 역좔적은 /home/florian/.local/lib/python3.8/site-packages/virtualenv/ κ°€λ¦¬ν‚€λ―€λ‘œ @make-ing이 pipλ₯Ό 톡해 2.0.24λ₯Ό μ„€μΉ˜ν–ˆμœΌλ©° ν•΄λ‹Ή μ„€μΉ˜κ°€ μ–΄λ–»κ²Œλ“  μ€‘λ‹¨λœ 것 κ°™μŠ΅λ‹ˆλ‹€. 이것은 sys.path 의 Ubuntu virtualenv λͺ¨λ“ˆ μ΄μ „μž…λ‹ˆλ‹€.

우리 μƒμžμ—λŠ” λ°λΉ„μ•ˆ 버전과 pip 버전이 λͺ¨λ‘ μ„€μΉ˜λœ κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ λ°λΉ„μ•ˆ 버전을 μ œκ±°ν•œ 후에도 μ΅œμ‹ (20.0.25) pip λ²„μ „μ—μ„œ μž‘λ™ν•˜λ„λ‘ ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  것이 μž‘λ™ν•©λ‹ˆλ‹€ ...

sudo pip3 install virtualenv==20.0.23

@gaborbernat 아직 2.0.24λ₯Ό νŒ¨ν‚€μ§•ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ Debian λ˜λŠ” Ubuntu의 2.0.24λŠ” 배포판 νŒ¨ν‚€μ§•κ³Ό 관련이 μ—†μŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ pip와 aptλ₯Ό 톡해 λ™μ‹œμ— virtualenvλ₯Ό μ„€μΉ˜ν•˜λŠ” μ‚¬μš©μžμ™€ 리포지토리 κ°„μ˜ 좩돌이 이λ₯Ό νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€. μ–΄λ–€ μ‹μœΌλ‘œλ“  λ°λΉ„μ•ˆμ€ κ·ΈλŸ¬ν•œ κ²½μš°μ— μ•½κ°„μ˜ 였λ₯˜λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆκΉŒ?

pip(apt-get μ•„λ‹˜)둜 virtualenvλ₯Ό μ„€μΉ˜ν•  λ•Œ μš°λΆ„νˆ¬ λ°”μ΄μ˜€λ‹‰μ—μ„œλ„ 이 문제λ₯Ό κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€. 20.0.23으둜 λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•˜λ©΄ 제 κ²½μš°μ—λ„ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ 버전을 20.0.23으둜 λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜λ©΄ focal fossa λ¬Έμ œκ°€ ν•΄κ²°λœλ‹€λŠ” 것도 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λ„ 같은 문제λ₯Ό μ•ˆκ³ μžˆμ–΄. λ‹€μš΄κ·Έλ ˆμ΄λ“œλŠ” μ–΄λ–»κ²Œ ν•˜λ‚˜μš”?

@ruannyury pip uninstall virtualenv λ‹€μŒ pip install virtualenv==20.0.23

이 λͺ¨λ“  κ²½μš°μ— λ‹€μš΄κ·Έλ ˆμ΄λ“œλŠ” μ‹€μ œ μ†”λ£¨μ…˜μ΄ μ•„λ‹™λ‹ˆλ‹€. μ§€κΈˆμ€ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ§€λ§Œ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 였래된 버전을 λ°›κ²Œ λ©λ‹ˆλ‹€. 두 버전을 λ³‘λ ¬λ‘œ μ„€μΉ˜ν•œ 이유λ₯Ό μ•Œμ•„λ‚΄κ³  λ‘˜ λ‹€ μ œκ±°ν•œ λ‹€μŒ μƒˆ 버전을 μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

μ•Œμ•„λ‚΄λŠ” 방법? λΆˆνŽΈμ— λŒ€ν•œ μš©μ„œ

λ‚΄ OSλŠ” Manjaro 20.0.3μž…λ‹ˆλ‹€.

핍 제거 virtualenv, 핍 제거 virtualenv? (두 번 ν•˜μ„Έμš”)

두 번째 μ‹œκ°„:
`였λ₯˜: μ˜ˆμ™Έ:
역좔적(κ°€μž₯ 졜근 호좜 λ§ˆμ§€λ§‰):
파일 "/usr/lib/python3.8/shutil.py", 788ν–‰, 이동 쀑
os.rename(src, real_dst)
OSError: [Errno 18] 링크 ν•­λͺ© λ¬΄νš¨ν™”: '/usr/bin/virtualenv' -> '/tmp/pip-uninstall-mpsr19ya/virtualenv'

μœ„μ˜ μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” λ™μ•ˆ λ‹€λ₯Έ μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

역좔적(κ°€μž₯ 졜근 호좜 λ§ˆμ§€λ§‰):
파일 "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", 186ν–‰, _main
μƒνƒœ = self.run(μ˜΅μ…˜, 인수)
파일 "/usr/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", 78ν–‰, μ‹€ν–‰ 쀑
uninstall_pathset = req.uninstall(
제거 μ‹œ 파일 "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", 687ν–‰
uninstalled_pathset.remove(auto_confirm, μžμ„Έν•œ 정보)
파일 "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", 394ν–‰, 제거
이동.stash(경둜)
파일 "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", 283ν–‰, μˆ¨κΉ€
이름 λ°”κΎΈκΈ°(경둜, new_path)
파일 "/usr/lib/python3.8/site-packages/pip/_internal/utils/misc.py", 334ν–‰, 이름 λ³€κ²½
shutil.move(이전, μƒˆ)
파일 "/usr/lib/python3.8/shutil.py", 803ν–‰, 이동 쀑
os.unlink(src)
PermissionError: [Errno 13] ν—ˆμš© 였λ₯˜: '/usr/bin/virtualenv'
`
sudoλ₯Ό μ‚¬μš©ν•΄μ•Όν•©λ‹ˆκΉŒ?

os μ„€μΉ˜ ν”„λ‘œκ·Έλž¨μœΌλ‘œ μ„€μΉ˜ν–ˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ œκ±°λ„ μ‹œλ„ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

μŠˆνΌμœ μ €μ™€?
μ—…λ°μ΄νŠΈ: μ•Œμ•˜λ‹€.
그럼 λ‹€μ‹œ μ„€μΉ˜ν• κΉŒμš”?

Lubuntu 20.04 저도 같은 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. virtualenv==20.0.23으둜 λ˜λŒλ €μ„œ 해결됨

이 λͺ¨λ“  κ²½μš°μ— λ‹€μš΄κ·Έλ ˆμ΄λ“œλŠ” μ‹€μ œ μ†”λ£¨μ…˜μ΄ μ•„λ‹™λ‹ˆλ‹€. μ§€κΈˆμ€ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ§€λ§Œ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 였래된 버전을 λ°›κ²Œ λ©λ‹ˆλ‹€. 두 버전을 λ³‘λ ¬λ‘œ μ„€μΉ˜ν•œ 이유λ₯Ό μ•Œμ•„λ‚΄κ³  λ‘˜ λ‹€ μ œκ±°ν•œ λ‹€μŒ μƒˆ 버전을 μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰