首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在执行setup.py sdist时find_packages(exclude=xxx)不起作用?

在执行setup.py sdist时,find_packages(exclude=xxx)可能不起作用的原因有以下几点:

  1. 错误的exclude参数:exclude参数用于指定要排除的包或模块,它接受一个字符串或字符串列表作为参数。如果exclude参数不正确,可能导致无法正确排除指定的包或模块。确保exclude参数的值正确,并且与要排除的包或模块名称匹配。
  2. setup.py文件位置不正确:setup.py文件应该位于项目的根目录下,以确保find_packages函数能够正确地搜索项目中的包。如果setup.py文件位置不正确,find_packages函数可能无法找到正确的包列表。
  3. 包的目录结构不正确:find_packages函数依赖于项目的包目录结构来确定要包含的包。确保项目的包目录结构正确,即每个包都应该包含一个__init__.py文件,并且位于正确的目录下。如果包的目录结构不正确,find_packages函数可能无法正确地识别和包含这些包。
  4. 缺少依赖项:find_packages函数可能无法正确地找到包,如果项目的依赖项没有正确安装或缺失。确保项目的依赖项已经正确安装,并且可以在当前环境中正常导入。

如果以上情况都排除了,但find_packages(exclude=xxx)仍然不起作用,可以尝试使用其他方法来手动指定要包含的包,例如使用packages参数来显式地列出要包含的包,或者使用find_namespace_packages函数来查找包含命名空间的包。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性、可靠、安全的云服务器实例,适用于各种应用场景。详细信息请参考:腾讯云云服务器
  • 腾讯云对象存储(COS):提供高可靠、低成本的对象存储服务,适用于存储和处理大规模非结构化数据。详细信息请参考:腾讯云对象存储
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等,帮助开发者构建智能化应用。详细信息请参考:腾讯云人工智能
  • 腾讯云区块链服务(TBCAS):提供高性能、可扩展的区块链服务,帮助企业快速搭建和部署区块链应用。详细信息请参考:腾讯云区块链服务
  • 腾讯云音视频处理(VOD):提供强大的音视频处理能力,包括转码、截图、水印、编辑等功能,适用于各种音视频处理场景。详细信息请参考:腾讯云音视频处理
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 setup.py 将 Python 库打包分发到 PyPI 踩坑指南

setup.py 文件简介 其实真正需要打包一个 Python 包只需要在项目根目录中提供一个 setup.py 文件即可,这个文件简单的内容如下: from setuptools import find_packages...为什么需要这个文件呢?...如果仅仅执行 python setup.py sdist 命令,那么你打出来的是一个 xxx.tar.gz 的包,可以理解为源文件包,当你把这个包上传到 PyPI 之后,使用 pip install 进行安装的时候会另外执行一次...也就是说,如果你在上传到 PyPI 之前就执行 python setup.py sdist bdist_wheel 打包,那么会同时得到一个 tar.gz 和一个 whl 的包,这个时候使用 pip install...1、打包应该用 sdist 还是 bdist_wheel ? 我的回答是一起用,将两个文件一起上传到 PyPI,同时,本地执行上传命令前应该先查看一下两个包里面的内容是否缺少。

1.3K20

python包安装及安装包制作

多文件模块,带setup.py:python setup.py install    卸载只能手动删除,一般安装在系统类库目录下 python setup.py install --record files.txt...setup.py文件的使用: % python setup.py build #编译 % python setup.py install    #安装 % python setup.py sdist    ...中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。...使用者拿到这个包后,解压,到foo-1.0目录下执行:python setup.py install,那么,foo.py就会被拷贝到python类路径下,可以被导入使用(如果安装是egg文件,会把egg...使用者拿到这个包后,解压,到mypackage-1.0目录下执行:python setup.py install,那么,foo.py就会被拷贝到python类路径下,可以被导入使用(如果安装是egg文件

1.8K20

从开发属于你自己的第一个 Python 库,做一名真正的程序员「双语版」

PATH 是 MacOS/Linux 和其他类 Unix 操作系统中的环境变量,它告诉 shell 响应用户发出的命令,去搜索哪些目录的 Python 执行环境(即准备运行的程序)。...sdist bdist_wheel --universal'.format(sys.executable)) # os.system('{0} setup.py sdist build --universal...(exclude=["tests", "*.tests", "*.tests.*", "tests.*"]), # packages=find_packages(exclude=["TuringRobots...另外,您也可以使用 exclude 参数显式地阻止包中包含测试,但是这样做稍微不那么健壮。...为了仅在运行测试自动安装它,您可以将以下内容添加到您的 setup.py: from setuptools import find_packages, setup setup( name='mypythonlib

44010

我是如何培养新人的:关于如何制作一个python库?

.py文件取名(demo.py) 文件内容如下: ​​def demo_test():    ​​​print("My package was successful") 4.项目目录下创建setup.py...文件 文件内容如下: ​​from setuptools import setup, find_packages setup(    ​​name='mypure',    ​​version='1.0...',    ​​packages=find_packages(),    ​​author='Example Author',   ​​​author_email='',    ​​keywords='...:执行 python setup.py sdist 此时项目中会出现两个新文件夹如下: ​6.pypi官网注册账号:官网:https://pypi.org/ 7.执行 pip install twine...8.执行twine upload dist/*上传包 上传包过程中需输入用户名、密码 9.执行pip install 包名安装包 简短的指南,后续再有新人,可以直接传授,?

77810

python的构建工具setup.py的方法使用示例

一、构建工具setup.py的应用场景安装python的相关模块和库,我们一般使用“pip install 模块名”或者“python setup.py install”,前者是在线安装,会安装该包的相关依赖包...所以安装普通的python包,利用pip工具相当简单。...但是如下场景下,使用python setup.py install会更适合需求:在编写相关系统,python 如何实现连同依赖包一起打包发布?...,如图片,配置文件等--scripts 安装需要执行的脚步列表--package_dir 告诉setuptools哪些目录下的文件被映射到哪个源码包。...另外,也可以排除一些特定的包find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"])--install_requires =

5.1K10

Python安装模块的几种方法

一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行: python setup.py install...setup.py文件的使用如下: % python setup.py build     #编译 % python setup.py install    #安装 % python setup.py sdist...setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。...简单的例子: setup.py文件:  from setuptools import setup, find_packages setup(        name = " mytest " ,        ...Windows里,easy_install这个命令python安装目录下的scripts里面,所以需要把scripts加到环境变量的PATH里,这样用起来就更方便,linux下不需要注意这个问题。

11.8K10

教你把python poject发布到PyPI

PyPI上,您可以找到几乎所有的Python包和库,这些包和库可以帮助您完成各种任务,如数据科学、机器学习、网络编程、Web开发等。...True, long_description=long_description, long_description_content_type="text/markdown")2.3 发布发布需要依赖...:python3 setup.py sdist bdist bdist_wheelsdist是生成源码包,bdist_wheel是对应生成二进制包,执行上述指令完毕后会在当前目录生成一个dist文件夹,...pypirc 文件,将之前的API token放到这个文件内:[pypi] username = __token__ password = pypi-xxxxxxxxxxxxxxxxxxx- 然后执行上传就不需要用户密码了...x-api-keyconfiguration = harness_python_sdk.Configuration()configuration.api_key['x-api-key'] = 'pat.xxx.xxx.xxx

32441
领券