pypi包导入python文件而不是包

pypi包导入python文件而不是包,python,pip,pypi,Python,Pip,Pypi,在我最近上传的pypi包中的pip安装包\u name之后 它在安装后直接导入python文件名, 我想用下面的方法 导入包名或从包名导入python文件 但这不起作用,反而起作用了 import python\u file即使安装了软件包名称也是package\u name pypi包名称包名称和 我的目录结构如下 包裹名称 setup.py 折叠1 python_文件 在setup.py中,我使用了package_dir={'':'folder_1'} 但即使是import

在我最近上传的pypi包中的
pip安装包\u name
之后 它在安装后直接导入python文件名, 我想用下面的方法

导入包名
或从包名导入python文件

但这不起作用,反而起作用了
import python\u file
即使安装了软件包名称也是
package\u name

pypi包名称
包名称
和 我的目录结构如下

  • 包裹名称
    • setup.py

    • 折叠1

      • python_文件
在setup.py中,我使用了
package_dir={'':'folder_1'}

但即使是
import folder\u 1
from folder\u 1 import python\u file
也不起作用

我尝试过在
文件夹1
中添加
\uuuu init\uuuuuuuuuy.py
,但没有解决问题

我一直在关注Mark Smith-在PyPI上发布一个(完美的)Python包,
这是这样说的,但是如果知道发生了什么,我怎么解决它呢???

那么您实际做的是告诉python根文件夹是
文件夹1

这不是你想要的

您只需告知
文件夹\u 1
(或实际用包名称替换它,请参见下文)是一个包,并使用以下方法声明它:

packages={'folder1'}

通常,人们不这样做,而是让函数
find_packages()
通过
packages=find_packages()

此外,软件包文件夹应包含一个
\uuuu init\uuuu.py

最后,您需要一个如下所示的文件夹结构,并使用
find_packages()

项目名称和Itsingle主包具有相同的名称是可以的,甚至是流行的选择

  • 项目名称
    • setup.py
    • 包裹名称
      • __初始值
      • python_file.py