suc*_*awk 5 python pip setuptools setup.py
我知道这pip install .将安装install_requires中定义的依赖项,但是哪些pip命令将安装setuptools.setup的setup_requires和tests_require中定义的依赖项?
简单的setup.py:
import setuptools
setuptools.setup(
name="my_app",
version="0.1.0",
url="http://me.com",
install_requires=['openpyxl'],
setup_requires=['pytest-runner'],
tests_require=['lxml'],
classifiers=[
# complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers
'Development Status :: 2 - Pre-Alpha',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.6',
],
)
Run Code Online (Sandbox Code Playgroud)
我使用virtualenvwrapper的mktmpenv创建了一个新的临时virtualenv,然后执行以下命令:
$ pip list --format=columns
Package Version
---------- -------
pip 9.0.1
setuptools 36.2.7
wheel 0.29.0
$ pip install .
Processing ...
Collecting openpyxl (from my-app==0.1.0)
Collecting jdcal (from openpyxl->my-app==0.1.0)
Collecting et-xmlfile (from openpyxl->my-app==0.1.0)
Building wheels for collected packages: my-app
Running setup.py bdist_wheel for my-app: started
Running setup.py bdist_wheel for my-app: finished with status 'done'
Stored in directory: C:\Users\nahawk\AppData\Local\pip\Cache\wheels\49\e2\8d\340d2b19ba48f1a84011f0e649fe957c19efaf34500f0edada
Successfully built my-app
Installing collected packages: jdcal, et-xmlfile, openpyxl, my-app
Successfully installed et-xmlfile-1.0.1 jdcal-1.3 my-app-0.1.0 openpyxl-2.4.8
$ pip list --format=columns
Package Version
---------- -------
et-xmlfile 1.0.1
jdcal 1.3
my-app 0.1.0
openpyxl 2.4.8
pip 9.0.1
setuptools 36.2.7
wheel 0.29.0
(tmp-60bebb2a3e1151e0) /c/Users/nahawk/code/coke/nsr/nsr-automated-deployment master
Run Code Online (Sandbox Code Playgroud)
请注意,未安装在tests_require中定义的lxml和在setup_requires中定义的pytest-runner。那么,如何使用pip安装它们?(显然,我不是在寻找pip install lxml pytest-runner)