我制作了一个包(下面称为“my_package”),需要安装最小版本的pip和setuptools。是否可以在“pip install my_package”期间更新它们(但不是在安装my_package之前执行“pip install -U pip”)?我试图将它们添加到需求中,但我以下面的例外结束:
def get(self, request, *args, **kwargs):
d = super(FacetUpdate, self).post(request, *args, **kwargs)
currenttenant = self.context.tenant
d['linked_facets'] = currenttenant.linked_facets
self.object = self.get_object()
return d
我的setup.py如下:
pkg_resources.VersionConflict: (pip 1.5.6 (~/.virtualenvs/test/lib/python2.7/site-packages), Requirement.parse('pip>=9.0.0'))
由于
解决方案1: 它没有解决我的问题,但它使用户更明确:
from setuptools import setup
package_name = 'my_package'
requires = [
'pip >= 9.0.0',
'setuptools >= 36.0.0'
]
setup(name=package_name,
author="Me",
use_scm_version=True,
packages=[package_name],
zip_safe=False,
setup_requires=['setuptools_scm'] + requires,
install_requires=requires)
答案 0 :(得分:1)
您应升级pip
版本:
pip install --upgrade pip
答案 1 :(得分:0)
您可以使用升级命令将setup.py
代码启动到pip
,然后重新加载并照常继续。
如果仍有问题,请尝试使用下标。
例如(使用os
或subprocess
模块):
import os
import pip
import importlib
from setuptools import setup
# duplicate this part to another script then reload.
os.system("python -m pip install -U pip")
# Python 3
importlib.reload(pip)
importlib.reload(setuptools)
# Python 2
reload(pip)
reload(setuptools)
package_name = 'my_package'
requires = [
'pip >= 9.0.0',
'setuptools >= 36.0.0'
]
setup(name=package_name,
author="Me",
use_scm_version=True,
packages=[package_name],
zip_safe=False,
setup_requires=['setuptools_scm'] + requires,
install_requires=requires)
升级点
在Linux或macOS上:
pip install -U pip
在Windows上:
python -m pip install -U pip