使用virtualenv -p /usr/local/bin/python3.4 py34env
安装python3环境报错,缺少zlib
可在python中导入zlib
缺没有报错,错误如下:
[root@localhost crazycabbage]# virtualenv -p /usr/local/bin/python3.4 py34env
Running virtualenv with interpreter /usr/local/bin/python3.4
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/virtualenv.py", line 22, in <module>
import zlib
ImportError: No module named 'zlib'
[root@localhost crazycabbage]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zlib
>>>
Google后说在编译时加上--with-zlib
,可报错 unrecognized options: --with-zlib
,求大神帮忙!
CentOS-7
은Python2.7.5
아래에shell
를 입력한 후 입력하는 해석기에 적힌 대로Python
가 기본적으로 설치됩니다.Python 2.7.5 (default, Nov 20 2015, 02:00:19)。
Python3.4
을 직접 설치해야 합니다.2.7.5
을import zlib
다운로드할 수 있지만3.4
을 다운로드할 수 없는 이유는3.4
라이브러리에zlib
라이브러리가 없기 때문일 수 있습니다.3.4
가 있는지zlib
가 있는지 먼저 확인해야 합니다.터미널 입력
/usr/local/bin/python3.4
을 입력하여3.4
의 해석기를 입력한 다음import zlib
을 입력하여ImportError
예외가 보고되었는지 확인하고, 그렇다면 다음 내용을 계속 읽으십시오. 보통, 그냥 주세요 메시지 남겨주세요……올바른
Python
이 설치되었는지 확인하려면zlib
버전에 해당하는zlib
을 다시 컴파일하고 설치해야 합니다.zlib-devel
도 설치하는 것이 좋습니다.그런데 재설치가 안 되는 경우가 많거나,
Yum
같은 패키지 관리자를 이용해 설치하면 설치 과정에서 "already presents", "installed"(물론 영어로) 같은 문구가 나오거나. 강제 설치 후에도 여전히 사용할 수 없습니다.Python2.7
의 라이브러리 디렉터리에 아직 설치되어 있기 때문입니다. 해결 방법은 다음과 같습니다.
으아악Python2.7.5
의 인터프리터에서 다음 코드를 입력하여 2.7 라이브러리 디렉터리를 확인하세요.출력 결과:
으아악가장 직접적인 방법은 Python3.4의 시스템 경로에 필요한 디렉터리를 추가하는 것입니다.
으아악먼저 시스템의 기본 Python을 Python2.7.5 대신 Python3.4로 변경하세요.
통역사 인증을 위해 터미널에
Python
를 입력하세요.그런 다음
vim ~/.bashrc
을 실행하여 시스템 환경 변수를 편집합니다. 편집 모드로 들어간 후 파일 끝에export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/xxx/:/usr/lib64/python2.7/xxx/
문장을 추가합니다. xxx는 필요한 라이브러리 디렉터리이며 콜론으로 구분한 다음 입력합니다.source ~/.bashrc
터미널을 현재 터미널로 만들거나 장치를 직접 다시 시작하세요.zlib
이 어느 디렉토리에 있는지 어떻게 알 수 있나요? 어, 알았어, 사람들을 끝까지 도와줘...Python3.4
인터프리터를 입력하고 위에 출력된2.7
디렉터리를 하나씩append
sys.path
목록에 넣은 다음import zlib
시도해 보세요. , 아니요 오류가 보고될 때까지 이 방법은 조잡하지만 효과적입니다.전체 디렉터리를 가져오는 것이 직접적이고 편리하지만 3.4 라이브러리와 충돌할 수 있으므로
zlib
파일이 무엇인지 확인한 다음copy
3.4
의 시스템 경로로 이동하는 것이 좋습니다._sqlite3
이 파일은_sqlite3.so
이 파일만 필요합니다.zlib
모르겠어요, 미안해요...한 번 시도해 보세요. 이론상으로는 가능합니다.
--with-zlib
은 Pyton 3.4를 컴파일할 때 추가했다는 의미입니다. 이는 분명히 Python 2.7 버전에는 zlib가 컴파일되었지만 3.4 버전에는 그렇지 않기 때문입니다.