setup.py find_packages未将软件包安装到anaconda环境

问题描述

如果我从anaconda环境env中使用setup.py运行python setup.py install文件,则不会安装软件包。

文件夹结构:

|setup.py
|package_name/
|---__init__.py
|---package_one.py
|---package_two.py

setup.py内容

from setuptools import setup,find_packages
setup(
    name='NAME',version='1.0',description="libraries",license="MIT",packages=find_packages(),author="Max",scripts={},)

文件包含每个类,例如 package_one.py

class class_one():
    def __init__(self,root_path,project_path):
        self.root_path = root_path
        self.project_path = project_path
        self.project = Project()
        self.hostname = os.environ['COmpuTERNAME']

运行setup.py之后,我无法导入任何缺少的包from package_name.package_one import class_one

解决方法

我无法从package_name.package_one import class_one导入任何包

仅当您当前的工作目录为项目的根文件夹(在此情况下为包含/package_name的父文件夹)时,此选项才起作用。否则,它将给出ModuleNotFoundError

您可以尝试以下方法。这指定了要包括的软件包,但使用package_name时,也分别在目录的基础中包括了文件。

from setuptools import setup,find_packages
setup(
    name='NAME',version='1.0',description="libraries",license="MIT",packages=find_packages(include=['package_name','package_name.*']),author="Max",scripts={},)

阅读this了解更多详细信息。