【问题标题】:cant import python module I just made on github无法导入我刚刚在 github 上制作的 python 模块
【发布时间】:2022-02-14 05:17:43
【问题描述】:

我想学习如何让我自己和我的同事可以使用我自己的功能集合。经过一番阅读,我决定制作一个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=[]
)

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

编辑:

  • 删除了我的个人信息
  • “有什么想法吗?” --> 你可以只指向一个私有仓库并使用提示登录。人活着是多么美好的时光:D

【问题讨论】:

  • setuptools.setupsetup.py 中的调用似乎缺少packages parameter。因此,您正在分发一个没有任何可导入包的空 Python 项目。您可能需要packages=setuptools.find_packages()packages=['testing']
  • 您可能想从问题中删除您的电子邮件地址...
  • @ShlomoGottlieb 好主意,谢谢!

标签: python github pip package setuptools


【解决方案1】:

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

【讨论】:

  • 这成功了!感谢您抽出宝贵时间帮助我!
猜你喜欢
  • 2018-11-29
  • 2021-02-03
  • 2010-11-28
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2020-11-11
相关资源
最近更新 更多