篇首语:本文由小编为大家整理,主要介绍了python setup.py bdist_wheel 报错的处理办法相关的知识,希望对你有一定的参考价值。
参考技术A 错误描述:在虚拟环境里安装 tornado 报错:error: invalid command "bdist_wheel"多半是setuptools版本不正确或者你的环境中没有安装wheel:
执行之后 果然 没有报错了。
python 从setup.json读取的示例setup.py
# -*- coding: utf-8 -*-## setup.py#SETUP_JSON = "setup.json"import ioimport jsonimport osimport sysfrom shutil import rmtreefrom setuptools import setup, find_packages, CommandHERE = os.path.abspath(os.path.dirname(__file__))def load_json(path, here=HERE): """""" with io.open(os.path.join(here, path)) as f: return json.load(f)def get_long_description(path, default="", here=HERE): """""" long_description = default with io.open(os.path.join(here, path), encoding="utf-8") as f: long_description = "
" + f.read() return long_descriptiondef get_version(path, key="__version__", here=HERE): """""" version = {} with open(os.path.join(here, path)) as f: exec(f.read(), version) return version[key]class Upload(Command): """""" name = "upload" description = "Build and publish the package." user_options = [] @staticmethod def status(s): """Prints things in bold.""" print(" 33[1m{0} 33[0m".format(s)) def initialize_options(self): """""" def finalize_options(self): """""" def run(self): """""" try: self.status("Removing previous builds…") rmtree(os.path.join(HERE, "dist")) except OSError: pass self.status("Building Source and Wheel (universal) distribution...") os.system(f"{sys.executable} setup.py sdist bdist_wheel --universal") self.status("Uploading the package to PyPI via Twine...") os.system("twine upload --repository-url https://upload.pypi.org/legacy/ dist/*") sys.exit()if __name__ == "__main__": about = load_json(SETUP_JSON) about["version"] = get_version(about["version_file"]) del about["version_file"] about["long_description"] = get_long_description(about["long_description_file"]) del about["long_description_file"] if "exclude" in about["packages"]: about["packages"] = find_packages(exclude=tuple(about["packages"]["exclude"])) setup(cmdclass={Upload.name: Upload}, **about)
以上是关于python setup.py bdist_wheel 报错的处理办法的主要内容,如果未能解决你的问题,请参考以下文章