python3.x - centos下,python在virtualenv新建python3报错
迷茫
迷茫 2017-04-17 17:35:13
0
2
932

使用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,求大神帮忙!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(2)
刘奇

CentOS-7Python2.7.5 아래에 shell를 입력한 후 입력하는 해석기에 적힌 대로 Python가 기본적으로 설치됩니다. Python 2.7.5 (default, Nov 20 2015, 02:00:19)。

Python3.4을 직접 설치해야 합니다. 2.7.5import 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 버전에는 그렇지 않기 때문입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿