使用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
,求大神帮忙!
怪我咯2017-04-17 17:37:13
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
모르겠어요, 미안해요...
한 번 시도해 보세요. 이론상으로는 가능합니다.
大家讲道理2017-04-17 17:37:13
--with-zlib
은 Pyton 3.4를 컴파일할 때 추가했다는 의미입니다. 이는 분명히 Python 2.7 버전에는 zlib가 컴파일되었지만 3.4 버전에는 그렇지 않기 때문입니다.