태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

달력

09

« 2017/09 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2016.11.17 21:28

Portable python - WinPython 분류없음2016.11.17 21:28

파이썬을 포터블하게 사용할 수 있는 방법을 찾다가 발견한 것이 WinPython 이다. (왜 전에는 몰랐지?)

WinPython 은 여러가지 패키지가 있는데, 파이썬 기반으로 유틸리티를 만들어서 간단히 복사해서 갖다놓기만 하면 실행이 가능한 형태로 쓰면서도 만들기도 편하게 하려는 것이 목표이므로, 가장 작은 Zero Version(WinPython 3.5.2.3Zero 등 끝에 Zero 가 붙은 판)을 사용하면 적당하다.

다운로드는 EXE인데, 뭘 설치해 준다기 보다는 지정한 경로에 압축만 풀어주는 정도다. 포함된 WinPython Control Panel.exe 를 사용하면 python.org 에서 배포하는 정식 인스톨러처럼 시스템에 등록도 해주는 기능이나 패키지 설치해주는 기능도 있다는데, Zero 버전(내가 쓴 것은 3.5.2.3Zero다)에서는 UI관련 패키지가 빠져있어서인지 아예 실행도 안된다. 그냥 개발 환경에서 여러 버전을 깔아서 편하게 쓰고 싶은거라면 약 200MB 짜리 풀 버전을 받는게 속 편하다.

압축 풀린 상태 그대로 있는 패키지만 가지고 사용하는 데에는 전혀 무리가 없다. 설치 폴더의 WinPython Command Prompt.exeWinPython Interpreter.exe 를 실행시키면 된다. .py 스크립트 파일을 실행시키고 싶으면 scripts 폴더의 python.bat 를 이용해서 python.exe 사용하듯이 실행시키면 필요한 환경변수들을 다 세팅해서 잘 돌아간다.

Zero 버전이므로 추가 패키지를 설치해야 되는데 pip 를 사용하면 된다고 하지만 실제로는 pip install 로 뭔가 설치해보면 cygwin builder 어쩌고 하는 곳에서 TypeError: unorderable types: NoneType() < str() 라는 오류가 나면서 설치가 안된다.

정식 해결방법인지는 잘 모르겠는데, settings\pydistutils.cfg 파일을 열어서 mingw 로 되어 있는 부분을 msvc로 변경하면 문제없이 잘 설치된다.


신고
Posted by wafe

댓글을 달아 주세요

탐색기에서 파일이나 폴더 이름을 바꾸거나, 다른 곳으로 이동하려고 할 때 권한이 없다거나 다른 프로그램이 사용 중이라면서 되지 않을 때가 있습니다.


특히 TortoiseSVN을 이용해서 subversion 저장소에서 체크아웃 해 놓은 소스 폴더에서는 자주 발생하는 일이죠.


TortoiseSVN 사용 시에 폴더를 붙잡고 있는 주범은 TortoiseProc.exe 인 경우가 많긴 하지만, 무조건 이녀석을 나쁜 놈으로 몰아버리면 좀 억울하겠죠? 그리고 소스 폴더가 아닌 경우에도 문제를 해결할 수 있는 방법이 필요하니까요.


구글링을 해보면 여러가지 unlocker 유틸리티들이 많긴 합니다. 하지만 왠지 신뢰가 안가고 찜찜하다는 생각이 듭니다. 좀 믿을만한 녀석이 없나할 때 떠오르는 이름이 바로 Sysinternals 죠.


Sysinternals 에서 제공하는 Process Explorer 라는 툴이 있는데요, 이 녀석은 윈도우에서 기본 제공하는 작업관리자 기능을 보강하면서도, 프로세스별로 어떤 DLL이 로드되었는지 보여주는 등의 기능이 있어서 개발할 때 유용하게 사용하고 있습니다. 개발하다보면 괜히 엉뚱한 곳에 있는 DLL이 로드되어서 삽질하는 경우가 있거든요 T.T


Process Explorer 에는 프로세스가 로드한 DLL 뿐만 아니라 사용하고 있는 핸들 정보들을 보여주는 기능도 있는데, 이걸 이용하면 어느 프로세스가 어떤 파일을 사용하고 있는지 확인할 수가 있습니다.


Process Explorer 를 관리자 권한으로 실행시키고, Find 메뉴에서 "Find Handle or DLL..." 을 선택합니다. 그러면 다이얼로그가 하나 표시되는데, 거기에 폴더 이름이나 파일 이름을 써넣고 Search 버튼을 눌러줍니다. 검색 결과를 보면 여러가지 타입의 결과들이 같이 표시가될 수 있는데, File 타입으로 되어 있는 것이 우리가 찾으려는 대상입니다.



검색 결과 목록에서 원하는 항목을 마우스로 클릭하면 Process Explorer 메인 윈도우에서도 해당 프로세스가 선택이 됩니다. 이제 어떤 프로그램이 파일을 사용중인지 알았으니 정상적으로 프로그램을 종료시켜주면 되겠죠. 미운 녀석이라면 Process Explorer 메인 윈도우에서 마우스 오른쪽 클릭 후 표시되는 메뉴에서 Kill Process 해서 강제로 종료시켜주면 되겠습니다.


신고
Posted by wafe

댓글을 달아 주세요

컴퓨터 이름을 확인할 때 보통은 Windows key + Pause key 를 눌러서 컴퓨터 등록 정보를 띄워서 확인했다. 그런데 이번에 Windows 7 관련 동영상을 보다가 hostname이라는 커맨드 라인 명령어가 있다는 걸 알게되었다.

동영상 주제와 상관없는 사소한 거에 더 기뻐하는 모습이 참 웃기다는 생각도 드는구만 ㅎㅎ
신고
Posted by wafe

댓글을 달아 주세요

  1. U.Seung 2009.10.17 22:17 신고  댓글주소  수정/삭제  댓글쓰기

    hostname 이런게 있었군요.
    Linux랑 동일해서 한번쯤 쳐봤을 듯도 한데.. 몰랐었네요ㅋ

    Windows도 찾아보면 Microsoft 자체에서 제공되는 Command 유틸도 꽤 많은데 이게 잘 안써서 그런지 알기가 쉽지 않은것 같아요.

    • wafe 2009.10.19 20:46 신고  댓글주소  수정/삭제

      엉 Linux랑 동일하다는 점에서 모르고 있었다는 게 더 놀랍지 ㅋㅋ

      요즘은 귀찮아서 안하지만 예전엔 리눅스 명령 쓰려고 Cygwin을 깔았었는데 ㅎㅎ 이제 도스도 도스지만 PowerShell을 좀 익혀둬야할 것 같네.

2009.03.17 12:56

윈도우 공유 연결 끊기 분류없음2009.03.17 12:56

윈도우 탐색기에서 공유 폴더에 들어가면 로그인 계정을 묻거나 자동으로 현재 로그인 계정으로 로그인 되는데, 이것을 끊을 수 있는 방법이 GUI로는 제공되지 않아서 곤란을 겪는 경우가 많다.

결국 커맨드라인을 사용하는 방법 밖에는 없다. 커맨드라인에서 net use 명령을 사용하면 되는데,

NET USE \\computer-name /DELETE

하면 현재 연결된 공유 세션을 끊을 수 있다.

net use 명령만 실행하면 현재 사용중인 공유 세션 목록을 볼 수 있고, /USER 옵션을 사용하면 특정 사용자로 연결할 수 있다.

신고
Posted by wafe

댓글을 달아 주세요

2008.10.22 23:02

BootCamp의 윈도우 시계 맞추기 분류없음2008.10.22 23:02

Mac에서 BootCamp 안에 설치한 윈도우는 한국의 경우에는 맥에서 설정한 시간과 9시간 차이가 나게 된다. 그렇다고 이쪽에서 시간을 바꿔버리면 이번엔 맥 쪽 시간이 틀어져버리는 것이다.

이런 팁처럼 부팅될 때마다 인터넷으로 시계를 맞추는 방법도 있지만 이럴 경우 정해진 시각에 iMac이 켜지게 하는 기능이 제대로 동작하지 않는 문제가 생겨서, 맥을 알람으로 사용하는 나로서는 쓸 수가 없는 방법이었다.

어차피 맥 쪽을 주로 사용하니까 윈도우 쪽에서 만든 파일 시간은 좀 틀려도 상관없고 해서 비스타 가젯으로 실제 시각과 동일하게 맞춰놓은 시계를 띄워놓고 썼는데 오늘 갑자기 검색해봐야겠다는 생각이 들어서 찾다보니 역시 해결책이 있었다.

알비 포럼의 글 - 맥 레퍼드와 부트캠프의 시계 동기화는 어떻게 해야 하는가?

문제 원인은 이것이라고 한다.

Mac OS는 하드웨어 시각을 GMT(혼은 UTC, 협정 세계시)라고 인식하는데, Windows는 지역 시간대라고 인식한다.

아하, 그래서 9시간 차이가 났던 것이군. 한국 표준시(KST)는 UTC+9 니까 말이다.

이런 동작 방식은 윈도우에서 레지스트리를 수정함으로써 변경할 수 있다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

이라는 키에 RealTimeIsUniversal 이라는 DWORD 값을 하나 생성하고 1로 설정하면 된다.

신고
Posted by wafe

댓글을 달아 주세요

  1. 호야 2012.01.16 18:37 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 감사합니다.
    출처 표기하고 퍼가도 될까요?



티스토리 툴바