Numpy: numpy c-extensions ๊ฐ€์ ธ ์˜ค๊ธฐ ์‹คํŒจ-์›๊ฒฉ ์ปดํ“จํ„ฐ

์— ๋งŒ๋“  2020๋…„ 04์›” 01์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: numpy/numpy

๋ฌธ์ œ ์„ค๋ช…

  • conda ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์ปดํ“จํ„ฐ์—์„œ ๊ฐœ๋ฐœ์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
  • ์ „์ฒด env ํด๋”๋ฅผ UNC ๋“œ๋ผ์ด๋ธŒ์— ๋ณต์‚ฌ ํ•œ ๋‹ค์Œ git repo ํด๋”์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‚ด ์ปดํ“จํ„ฐ์˜ ์›๊ฒฉ UNC ๋“œ๋ผ์ด๋ธŒ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
  • ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์ผํ•œ ์ž‘์—…์„ ์‹œ๋„ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ–ˆ๋Š”๋ฐ Importing the numpy c-extensions failed ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์—… ํ™˜๊ฒฝ์„ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
    ๊ฐœ๋ฐœ์ž ๋จธ์‹  : conda list --explicit > webdev.txt
    ๋Œ€์ƒ ๋จธ์‹  : conda create --prefix "\path\to\unc-drive-folder\webdev" --file webdev.txt
  • ๋‚ด ์ปดํ“จํ„ฐ์˜ UNC ๋“œ๋ผ์ด๋ธŒ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์ผํ•œ ์ž‘์—…์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋„๋ก ์š”์ฒญํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ Importing the numpy c-extensions failed ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์™€ ๋‚˜๋Š” ๋™์ผํ•œ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ์—์„œ ์•ก์„ธ์Šคํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋Š” ์•„๋‹Œ ๋‚˜๋ฅผ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๊นŒ?

์žฌํ˜„ ์ฝ”๋“œ ์˜ˆ :

import numpy as np

์—๋Ÿฌ ๋ฉ”์‹œ์ง€:

์—ญ ์ถ”์  (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰) :
ํŒŒ์ผ "run.py", 15 ํ–‰,

ImportError : ํ•„์ˆ˜ ์ข…์†์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
numpy :

์ค‘์š” :์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ๋ณด๋ ค๋ฉด์ด ๋ฌธ์„œ๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค!

numpy c ํ™•์žฅ์„ ๊ฐ€์ ธ ์˜ค์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

  • numpy๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์‹œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.
  • ์ด๋ฏธ ์ˆ˜ํ–‰ ํ•œ ๊ฒฝ์šฐ :

    1. "X : \ XXX \ webdev \ python.exe"์—์„œ Python3.8์„ ์‚ฌ์šฉํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ๋Š”์ง€, PATH ๋˜๋Š” PYTHONPATH์— Python ๋ฐ numpy ๋ฒ„์ „ "1.18.1"์„ ๋ฐฉํ•ด ํ•  ์ˆ˜์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

    2. (1)์ด ๊ดœ์ฐฎ์•„ ๋ณด์ด๋ฉด https://github.com/numpy/numpy/issues ์—์„œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

      • Python์„ ์„ค์น˜ ํ•œ ๋ฐฉ๋ฒ•
      • numpy ์„ค์น˜ ๋ฐฉ๋ฒ•
      • ์šด์˜ ์ฒด์ œ
      • ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ Python์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
      • ์†Œ์Šค, ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„์ „ ๋ฐ ์ด์ƒ์ ์œผ๋กœ๋Š” ๋นŒ๋“œ ๋กœ๊ทธ์—์„œ ๋นŒ๋“œ ํ•œ ๊ฒฝ์šฐ
  • numpy git ์ €์žฅ์†Œ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ git clean -xdf ์‹œ๋„
    (๋ฒ„์ „ ๊ด€๋ฆฌํ•˜์— ์žˆ์ง€ ์•Š์€ ๋ชจ๋“  ํŒŒ์ผ์„ ์ œ๊ฑฐํ•จ) numpy๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜์‹ญ์‹œ์˜ค.

์ฐธ๊ณ  :์ด ์˜ค๋ฅ˜์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ์›์ธ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ์กด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜์ง€ ๋ง๊ณ  ์ƒˆ ๋ฌธ์ œ๋ฅผ์—ฌ์‹ญ์‹œ์˜ค.

์›๋ž˜ ์˜ค๋ฅ˜ : _multiarray_umath๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๋™์•ˆ DLL๋กœ๋“œ ์‹คํŒจ : ์ง€์ •๋œ ๋ชจ๋“ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Numpy / Python ๋ฒ„์ „ ์ •๋ณด :

1.18.1 3.8.2 | conda-forge์— ์˜ํ•ด ํฌ์žฅ ๋œ | (๊ธฐ๋ณธ๊ฐ’, 2020 ๋…„ 3 ์›” 23 ์ผ, 17:32:17) [MSC v.1916 64 ๋น„ํŠธ (AMD64)]

31 - Third-party binaries 33 - Question

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

Conda์—์„œ์ด ๋ฌธ์ œ์˜ ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ํ™˜๊ฒฝ ํ™œ์„ฑํ™” ์‹คํŒจ์ž…๋‹ˆ๋‹ค. ๋๋‚ฌ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๋‹น์‹ ์„ ๋„์šธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์šด์˜ ์ฒด์ œ๊ฐ€ ์›๊ฒฉ ๋“œ๋ผ์ด๋ธŒ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ์‹ค์ œ๋กœ ๋™์ผํ•œ ์‹œ์Šคํ…œ (ํŒŒ์ด์ฌ ๋ฒ„์ „, ํ˜ธํ™˜ ๋ฐ”์ด๋„ˆ๋ฆฌ)์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•˜๊ฒŒ ๋งํ•˜๋ฉด, ์—ฌ๊ธฐ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๊ณ  ํŒ์„ ์ค„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๊ฒƒ์ด NumPy์—๋งŒ ๊ตญํ•œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๋˜๋Š” Chuck์ด ๋งํ•œ ๊ฒƒ๋ณด๋‹ค ์‰ฝ์Šต๋‹ˆ๋‹ค. :).

๋„ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์— miniconda๋ฅผ ์„ค์น˜ ํ•œ ๋‹ค์Œ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@TheEverlastingBish ์ฟจ, ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์œผ๋ฉด ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๊ฒŒํ•˜๋ฉด ์—ฌ๊ธฐ์—์„œ ์ฐพ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์„ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ฅผ ์ฐพ์œผ๋ฉด ๋‹ซ์œผ์‹ญ์‹œ์˜ค. ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ๋นจ๋ฆฌ ์ฐพ์œผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค!

Conda์—์„œ์ด ๋ฌธ์ œ์˜ ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ํ™˜๊ฒฝ ํ™œ์„ฑํ™” ์‹คํŒจ์ž…๋‹ˆ๋‹ค. ๋๋‚ฌ์Šต๋‹ˆ๊นŒ?

ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉฐ Anaconda๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—์„œ ์ด๋ ‡๊ฒŒ ๋ฐฐ์น˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ๋•Œ :

"C:\anaconda\envs\analytics\python.exe" "C:\PySpace\PRODUCTION\Projects\jingle-bells\src\main.py"

... activate ๋ช…๋ น ์—†์ด๋„ ์ž˜ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์–ด๋–ป๊ฒŒ ๋“  ๋‚˜์—๊ฒŒ ๋ณด์ด๋Š”๋ฐ, conda๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ์ปดํ“จํ„ฐ์—์„œ env + package๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ง„์ •์œผ๋กœ numpy ํŠน์ • ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ™˜๊ฒฝ / OS ๊ธฐ๋ฐ˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋Œ€์ƒ ์ปดํ“จํ„ฐ์— ์˜ฌ๋ฐ”๋ฅธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฐ / ๋˜๋Š” ํ™˜๊ฒฝ์„ ๋ณ„๋„๋กœ ์„ค์น˜ ํ•œ ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๊ด€๋ จ ๋ฌธ์ œ

inducer picture inducer  ยท  3์ฝ”๋ฉ˜ํŠธ

manuels picture manuels  ยท  3์ฝ”๋ฉ˜ํŠธ

toddrjen picture toddrjen  ยท  4์ฝ”๋ฉ˜ํŠธ

keithbriggs picture keithbriggs  ยท  3์ฝ”๋ฉ˜ํŠธ

perezpaya picture perezpaya  ยท  4์ฝ”๋ฉ˜ํŠธ