우분투 16.04 LTS, pip와 함께 cpickle을 설치하려고합니다. 조금 검색했지만 아직 유용한 것을 찾지 못했습니다.
파이썬 경로가 설정되지 않았습니다.
user@hostname:~$ sudo -H pip3 install cpickle
Collecting cpickle
Using cached cpickle-0.5.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.5/tokenize.py", line 454, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-wn926hef/cpickle/setup.py'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-wn926hef/cpickle/
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-q46tq1l8/cpickle/
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
# version info
user@hostname:~$ python --version
Python 2.7.12
user@hostname:~$ python3 --version
Python 3.5.2
# I don't think cache is the problem
rm -rf ~/.cache/
sudo -H pip install cpickle --no-cache-dir # same problem
sudo -H pip3 install cpickle --no-cache-dir # same problem
인터넷에서 확인해보니 다음과 같은 내용을 발견했습니다.
파이썬 2.x의 일반적인 패턴은 모듈의 한 버전을 순수 파이썬으로 구현하고 가속 버전(선택 사항)을 C 확장으로 구현하는 것입니다(예: 피클 및 cPickle).
이렇게 하면 이러한 모듈의 각 사용자가 가속화된 버전을 가져오고 순수 파이썬 버전으로 되돌아가야 하는 부담이 생깁니다. 파이썬 3.0에서 가속 버전은 순수 파이썬 버전의 구현 세부 사항으로 간주됩니다.
사용자는 항상 가속화된 버전을 임포트하려고 시도하고 순수 파이썬 버전으로 되돌아가는 표준 버전을 임포트해야 합니다. 피클/씨피클 쌍이 이 처리를 받았습니다. 프로파일 모듈은 3.1의 목록에 있습니다. StringIO 모듈이 io 모듈의 클래스로 바뀌었습니다.
즉, 파이썬3에서는 라이브러리로 제공됩니다.
import _pickle as cPickle
cPickle은 파이썬의 표준 라이브러리의 일부이므로
pip`과 함께 설치하지 않습니다. 파이썬 2에서는 파이썬과 함께 설치됩니다. 파이썬 3에서는 릴리스 노트를 인용하여 강조했습니다:
파이썬 2.x에서 일반적인 패턴은 모듈의 한 버전이 순수 파이썬으로 구현되고, 선택적 가속 버전이 C 확장으로 구현되는 것입니다(예: 피클 및 cPickle). 이렇게 하면 이러한 모듈의 각 사용자가 가속화된 버전을 임포트하고 다시 순수 파이썬 버전으로 돌아가야 하는 부담이 생깁니다. 파이썬 3.0에서 가속화된 버전은 순수 파이썬 버전의 구현 세부 사항으로 간주됩니다. 사용자는 항상 표준 버전을 임포트해야 하며, 가속 버전을 임포트하려고 시도하면 순수 파이썬 버전으로 되돌아갑니다. 피클/씨피클 쌍은 이러한 처리를 받았습니다.
파이파이로 cpickle
을 설치하려고 시도하는 특정 사례에서, 일부 파이토니스타는 이것이 잘못된 일이라는 것을 사람들에게 알리기로 결심하고 (표준 라이브러리 모듈의 이름을 딴 수많은 다른 프로젝트와 함께) cpickle
프로젝트를 등록하고 setup.py
에 아무것도 하지 않고 `패키지 'cpickle' 은 pypi에서 다운로드할 수 없습니다&39; 오류로 종료될 뿐입니다&39;라는 메시지를 표시하는
setup.py`를 제공했습니다. 그러나 패키지를 만들 때 또는 PyPI 측에서 무언가 잘못되어 소스 배포 파일이 잘못되어 여기에 표시된 오류가 발생한 것으로 보입니다. 따라서 이 오류가 수정되더라도 수행하려는 작업을 수행하지 말라는 다른 오류가 계속 표시됩니다.