无法导入我刚在 github 上创建的 python 模块

cant import python module I just made on github

我想了解如何让我自己和我的同事可以使用我自己的函数集。阅读一些内容后,我决定制作一个 python package,将其放在 github 上并使用 pip install git+https:// 使其可供我的同事使用。我们顺便用了anaconda,不知道有没有关系。

所以我创建了以下存储库:https://github.com/accountname/reponame 并在全新的 anaconda 环境中使用:

conda create -n github_test python=3.9

我将使用以下方式安装我的包:

pip install git+https://github.com/accountname/reponame.git

这成功了!伟大的!当我 运行 conda list 我得到以下输出:

# packages in environment at C:\Users\MyName\anaconda3\envs\github_test:
#
# Name                    Version                   Build  Channel
ca-certificates           2021.10.26           haa95532_4
certifi                   2021.10.8        py39haa95532_2
openssl                   1.1.1m               h2bbff1b_0
pip                       21.2.4           py39haa95532_0
python                    3.9.7                h6244533_1
setuptools                58.0.4           py39haa95532_0
sqlite                    3.37.2               h2bbff1b_0
testing                   0.0.1                    pypi_0    pypi
tzdata                    2021e                hda174b7_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.37.1             pyhd3eb1b0_0
wincertstore              0.2              py39haa95532_2

为了测试它,我决定打开 python 并导入新包:

(github_test) C:\Users\MyName>python
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import testing
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'testing'
>>>

按列表中的名称导入列表中的任何其他模块都可以。所以我认为我的 setup.py 文件缺少一些信息。

import setuptools

setuptools.setup(
    name='testing',
    version='0.0.1',
    url='https://github.com/accountname/reponame',
    author='My Name',
    author_email='REDACTED',
    description='testing123',
    install_requires=[]
)

我认为这只适用于 public 存储库。理想情况下,我希望能够通过这种安装和分发方法使用私有存储库。有什么想法吗?

编辑:

setup.py 中的 setuptools.setup 调用似乎缺少 packages parameter。因此,您正在分发一个没有任何可导入包的空 Python 项目。您可能需要 packages=setuptools.find_packages()packages=['testing'].