我试图弄清楚如何构建一个可通过 pip 安装的 Python 源包。我尝试使用http://packages.python.org/an_example_pypi_project/setuptools.html上描述的 setup.py 文件 和指定目录中的一些简单测试文件创建一个测试项目。
dist/an_example_pypi_project-0.0.4.tar.gz
在为名为with的项目创建源 tarball 后python setup.py sdist
,我尝试将其安装在名为~/TEST
with
的 virtualenv 环境中~/TEST/bin/pip install dist/an_example_pypi_project-0.0.4.tar.gz
。虽然 pip 没有抛出任何错误,但它似乎没有安装包:
$ ~/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*"
$
请注意,我可以使用 easy_install 从 tarball 安装:
$ ~/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
我是否忽略了在包中配置某些内容以使其可以使用 pip 安装?我正在使用 Python 2.7.2,分发 0.6.21、virtualenv 1.7 和 pip 1.0.2。