저는 pip를 통해 설치 가능한 Python 소스 패키지를 만드는 방법을 알아 내려고하고 있습니다. 나는 http://packages.python.org/an_example_pypi_project/setuptools.html 에 설명 된 setup.py 파일과 지정된 디렉토리에있는 많은 수의 간단한 테스트 파일로 테스트 프로젝트를 만들려고 시도했다. Python 패키지 소스 설치하기 tarball with pip
은python setup.py sdist
와
dist/an_example_pypi_project-0.0.4.tar.gz
라는 이름의 프로젝트의 소스 타르볼을 만든 후, 나는 VIRTUALENV 환경에 설치가
~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz
와
~/TEST
라고했습니다.
$ ~/TEST/bin/easy_install dist/an_example_pypi_project-0.0.4.tar.gz
Processing an_example_pypi_project-0.0.4.tar.gz
Running an_example_pypi_project-0.0.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tfXxeW/an_example_pypi_project-0.0.4/egg-dist-tmp-N2QY_N
warning: build_py: byte-compiling is disabled, skipping.
warning: install_lib: byte-compiling is disabled, skipping.
zip_safe flag not set; analyzing archive contents...
Adding an-example-pypi-project 0.0.4 to easy-install.pth file
Installed /home/lebedov/TEST/lib/python2.7/site-packages/an_example_pypi_project-0.0.4-py2.7.egg
Processing dependencies for an-example-pypi-project==0.0.4
Finished processing dependencies for an-example-pypi-project==0.0.4
$ find ~/TEST/ -name "an_example*"
/home/lebedov/TEST/lib/python2.7/site-packages/an_example_pypi_project-0.0.4-py2.7.egg
내가가 무시 건가요 : 나는 easy_install을 사용하여 타르에서 설치 할 수 있었다
$ ~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz
Unpacking ./dist/an_example_pypi_project-0.0.4.tar.gz
Running setup.py egg_info for package from file:///home/lebedov/an_example_pypi_project/dist/an_example_pypi_project-0.0.4.tar.gz
Cleaning up...
$ find ~/TEST -name "an_example*"
$
참고 : PIP 어떤 오류가 발생하지 않았지만,이 패키지를 설치하는 것 같지 않았어요 pip에서 설치할 수 있도록 패키지에 뭔가를 구성 하시겠습니까? 파이썬 2.7.2를 사용하고, 0.6.21, virtualenv 1.7, pip 1.0.2를 배포하고 있습니다.
현재 디렉터리가 프로젝트 원본을 포함하는 동안 pip를 호출 할 때만 문제가 발생하는 것으로 보입니다. 소스 배포판을 만든 후에 만들어진 .egg-info 하위 디렉토리의 존재로 인해 pip가 혼란스러워 보입니다. 이것이 버그인지 잘 모르겠다 - 나는 pip 개발자에게 물어볼 것이다. – lebedov
나중에 참조 할 수 있습니다. https://github.com/pypa/pip/issues/414 – lebedov
이것은 내 프로젝트에서 작동하며 .egg 정보도 가지고 있습니다. 'tree'를 사용하여 디렉토리를 살펴 보았습니까? –