2011-01-31 1 views
2

내 생각은 이식성이 뛰어나고 시스템에 독립적 인 리눅스 파이썬 최소 기반을 컴파일하려고한다. (이것은 시스템 설치와도 상호 작용하지 않는다는 것을 의미한다. 파이썬 기초).리눅스에서 시스템에 독립적 인 최소한의 파이썬 풋 프린트 만들기

Windows 환경에서 Python 바이너리 파일뿐 아니라이 휴대용 Python 기반으로로드되는 최소한의 사용자 정의 모듈 세트 만 있으면서도 쉽게 컴파일 할 수있었습니다.

그러나 처음부터 파이썬을 컴파일해도 시스템의 모듈 (예 : /usr/lib/python2.6)을로드하는 것이 아니라 자신의 Lib 하위 디렉토리에서부터이 목표에 도달하는 것은 꽤 어렵습니다. ,이 파이썬베이스를 다른 곳으로 옮기면 찾지 못합니다.

만약 가능하다면 내가 컴파일 한 것보다 더 많은 리눅스 기반 배포판에서 실행 가능하도록 '파이썬'을 컴파일 할 수있는 방법이 있습니까?

편집는 : 나는 Windows에서 정상적으로 작동하고 이미 설정 파이썬 기반으로 python2.6 (또는 파이썬) (이동하려고 할 때 실제로 문제가 온다, 그러나
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] under Linux instead.
를 출력 내가 말할 수있는, 그것은 LIBDIR 대신 요즘 설정 (exec_prefix)/lib(exec_prefix)/lib/python$(VERSION)로 설정하고 함께해야 할 수도에서

.

폴더와 파일에서 읽을 수있는 정의의 방법은 대신, 거기에 기본 파일들? makefile이 제대로 처리한다. nstall은 그것을 오른쪽 lib 폴더에 넣습니다). 그러나 farfromhome의 print pth 메서드를 사용하면 /home/arnold/Python/lib 대신에 /home/arnold/Python/lib/python2.6에서로드하는 경향이 있습니다.

python이 기본 LIBDIR 경로 대신 사용자 지정 LIBDIR 경로를 강제로로드 할 수 있습니까?

:이 설치의 파일 및 폴더 구조는 자신의 작품을 제안 --prefix을 사용하여 주식 리눅스 또는 Windows 파이썬 설치

+1

* 처음부터 파이썬을 컴파일하면 시스템에서 모듈을로드합니다. * 무엇? 만약에 당신이 제대로하지 않는다면. – SilentGhost

+0

--prefix 플래그를 사용하여 구성 할 경로를 지정하려고 시도한 다음 'make install'을 입력하여 "설치"하십시오. 그러나 컴파일 된 Python 설치가 "접두어"경로 폴더에 덜 의존하게 할 것인지 확실하지 않습니다. – JadenBlabber

답변

2

에서 다릅니다. 나는 --prefix=/usr/local와 파이썬 2.7.1를 컴파일하고있는 결과 바이너리 결과를 실행 : /usr/lib에 대한 단일 참조, 단지 /usr/local/lib이 아니라고

Python 2.7.1 (r271:86832, Jan 31 2011, 11:06:01) 
[GCC 4.5.1 20100924 (Red Hat 4.5.1-4)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> for pth in sys.path: 
...  print pth 
... 

/usr/local/lib/python27.zip 
/usr/local/lib/python2.7 
/usr/local/lib/python2.7/plat-linux2 
/usr/local/lib/python2.7/lib-tk 
/usr/local/lib/python2.7/lib-old 
/usr/local/lib/python2.7/lib-dynload 
/usr/local/lib/python2.7/site-packages 

참고. 그리고 이것은 편집에서 또는 나중에 다른 것을하지 않고서입니다.

+0

Python 2.6에서도 확인되었습니다. – farfromhome

+0

내 질문을 재 편집하면서 처음에 재귀 적으로로드 한 다음 경로 이름으로 절대적으로로드하는 지점에 도달했습니다. 그러나'python '은 LIBDIR 모듈에서 기본 경로 이름으로로드하는 경향이 있으며 Makefile에 정의 된 모듈이 아닙니다. – JadenBlabber