본문 바로가기

Python

(49)
[Python] 윈도우 cmd 창에서 python 을 입력하면 윈도우 스토어 설치화면이 나온다. python 을 실행하기 위해서 cmd 창 (명령창, 콘솔창)에서 python ... 을 입력하였는데, 파이썬이 실행되지 않고 윈도우 스토어가 열리면서 python 설치유도 화면이 뜨는 경우가 있다. python 을 이미 설치했는데도 이렇게 뜬다면, 윈도우 운영체제가 python.exe 를 찾지 못해서, 윈도우 스토어의 python 설치화면을 띄운 것이다. python 을 설치하면서, python 의 설치패쓰를 PATH 환경변수에 등록하는 설정을 하고 설치하였다면, 이와 같은 문제가 생기지 않는다. 윈도우 cmd 는 사용자가 입력한 명령을 실행할 실제 실행파일을 찾기 위해서 PATH 변수에 등록된 경로들을 주르륵 탐색한다. python 이라고 입력했다면, python.exe, python.bat, .....
[Python] Turtle 로 프랙탈 트리 그리기 python turtle 로 프랙탈 트리를 그려 봤다. import turtle def tree(length, depth=0): if depth < 4: depth += 1 nlength = length * (0.7 ** depth) t.forward(length) t.left(60) tree(nlength, depth) t.right(30) tree(nlength, depth) t.right(30) tree(nlength, depth) t.right(30) tree(nlength, depth) t.right(30) tree(nlength, depth) t.left(60) t.backward(length) t = turtle.Turtle() t.left(90) t.color("green") t.speed..
[EP 018] 삼각형 배열에서 지나간 수의 합을 최대로 하는 경로를 구하기 문제에서는 경로를 다 구할 필요는 없었고, 경로합의 최대값만 구하면 되었다. 중간에 어떤 노드까지 거슬러 올 수 있는 모든 경로의 최대값을 알 수 있다고 하자. 한 줄에 대해서 다 안다고 하자. 그럼 그 윗줄의 어떤 노드 A까지 거슬러 올 수 있는 모든 경로의 최대값은, 그 A 아래의 두 노드 각각의 최대값과 A노드 값의 합, 두가지 경우 중에서 결정된다. #!/usr/bin/env python # http://projecteuler.net # Problem 18 # Find a top-to-bottom path which makes the path-sum maximum # Author : DwYoon # Date : 2020 # I reduce the triangle from the bottom. Ea..
pip install 시 Visual C++ is required 메시지와 함께 설치에러가 발생하는 이유 파이썬 패키지들은 소스로 제공될 경우도 있고, 미리빌드된 휠(prebuilt wheel)로 제공될 경우도 있습니다. 미리빌드된 휠은 소스를 각 플랫폼 (리눅스, 윈도우, 맥, 32비트, 64비트 등등) 에 맞게 누군가가 미리 빌드하여 제공하는 것이기 때문에, "현재" 가장 대중적인 플랫폼에 대해 우선적으로 제공됩니다. 2020년 현재는 32비트 파이썬은, 64비트 버전에 비해 덜 대중적입니다. 따라서 32비트 파이썬을 설치한 경우에는 pip 설치시에 이러한 에러를 만날 확률이 큽니다. (마찬가지로 파이썬 2.7 버전, 또는 나온지 오래된 3.4, 3.5 등등, 그리고 이제 막 새롭게 버전이 출시되었을 때에도) 물론 적절한 컴파일 환경 ( vc 컴파일환경 등 ) 을 설정한 경우에는 소스를 컴파일하여 잘 설..
RuntimeError: The current Numpy installation fails to pass a sanity check due to a bug in the windows runtime. 오늘 (2020년 11월 10일) windows 10 운영체제 vscode 에서 pip 로 여러 패키지들을 최신으로 업데이트 한 후에 파이썬 스크립트를 실행하여 보았는데, 갑자기 이상한 에러가 뜨면서 실행이 되지 않았다. 스크립트는 다른 시스템에서 얼마전까지 잘 돌던 것이었다. 에러메시지는 다음과 같다. (env3864) C:\WORK\github\mememe\myappp> cd c:\WORK\github\mememe\myappp && cmd /C "c:\WORK\github\mememe\myappp\env3864\Scripts\python.exe c:\Users\Meme\.vscode\extensions\ms-python.python-2020.10.332292344\pythonFiles\lib\pyth..
[Anaconda] ImportError: DLL load failed while importing _multiarray_umath: 지정된 모듈을 찾을 수 없습니다. anaconda3 를 윈도우에 설치하고, import numpy, import pandas 를 입력했으나 ImportError: DLL load failed while importing _multiarray_umath: 지정된 모듈을 찾을 수 없습니다. 와 같은 에러가 발생했다. 전제 에러메시지는 다음과 같다. C:\ProgramData\Anaconda3>python Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Warning: This Python interpreter is in a conda environment, but the environment has not bee..
한글을 포함한 문자열을 너비를 지정하여 포매팅할 때의 문제 >>> l = [ '김철수', 'Meggy', '이용' ] >>> names = [ '김철수', 'Meggy', '이용' ] >>> nums = [ 33, 23, 145 ] >>> for name, num in zip(names, nums): print("%-10s %10s %10s"%(name, num, name)) 김철수 33 김철수 Meggy 23 Meggy 이용 145 이용 한글이 포함된 경우에는 너비를 지정하는 문자열 포매팅이 잘 맞지 않는다. 이는 한글, 일본어 가나, 중국어 한자 등의 폭이 영문문자의 2배라는 점을 기본 문자열 포매팅이 고려하지 않고, 한글자는 무조건 한칸으로 생각하기 때문에 발생하는 문제이다. (영문 한칸의 너비만 차지하는 반각문자도 있지만, 간단한 설명을 위해 넘어갑시다...
Anaconda 의 기존 가상환경을 클론하여 새로운 가상환경을 만들기 Anaconda 의 기존 가상환경을 클론하여 새로운 가상환경을 만들기 서버에 이미 생성되어 있는 기존의 가상환경을 변경하지 않고, 약간의 패키지를 변경하여 테스트하고 싶었다. 이런 때에는 아나콘다에서 제공하는 clone 옵션으로 가상환경을 클론(복제)하고, 복제한 가상환경에서 패키지를 변경하여 테스트 해 볼 수 있다. 기존의 tensorflow2_p36 가상환경의 패키지 설정을 복제하여, tf2_p36_dw 가상환경을 만든다. 새롭게 만들어진 가상환경은 기존의 가상환경과 동일한 패키지가 설치되게 된다. conda create --name tf2_p36_dw --clone tensorflow2_p36 이후 source activate tf2_p36_dw 명령으로 가상환경에 진입하고, conda instal..