【问题标题】:PyPI Module not workingPyPI 模块不工作
【发布时间】:2016-11-11 21:42:12
【问题描述】:

所以今天我开始研究一个简单的 python 模块,但我无法让它工作。 该模块本身可以工作,但是当我将它上传到 PyPI 然后我使用 Pip 安装它时,它不会工作。 请注意,它是为 python-2.7 构建的 源码可以看这里:

https://github.com/1m0r74l17y/FortyTwo

并且可以使用以下方式下载:

sudo pip install FortyTwo

每当我尝试运行这样的测试程序时:

从 FortyTwo 导入 *

FortyTwo.nope()

它只是给我一个错误:

Traceback(最近一次调用最后一次):

文件“test.py”,第 3 行,在

FortyTwo.nope()

AttributeError: 'module' 对象没有属性 'fortytwo'

我非常感谢任何帮助,因为它可能会引导我解决问题。

【问题讨论】:

  • 你的问题太模糊了。 如何它不起作用?
  • 我刚刚添加了一些关于这个问题的信息:)

标签: python python-2.7 pip pypi


【解决方案1】:

如果你这样做了怎么办

from FortyTwo import fortytwo
fortytwo.nope()

* 归功于 eandersson。

【讨论】:

  • 我看不出这是如何工作的,因为该函数没有在 FortyTwo 中定义。
  • Oeps... 案件让我很困惑!已更改,并归功于您!
【解决方案2】:

您需要执行以下操作。

from FortyTwo import fortytwo
fortytwo.nope()

如果你想直接从 FortyTwo 调用 nope,你需要在 __init__.py 中导入该函数。

例如

from FortyTwo.fortytwo import nope

def Start():
    """No Clue what to add here"""

【讨论】:

  • 所以你是说如果我想输入 import FortyTwo 然后只说 Fortytwo.nope() 我必须将特定函数添加到 init.py ?
  • 是的。您可以只在 init 文件中定义函数 nope,使用 import 定义它,或者可能只是做from FortyTwo.fortytwo import *
  • 基本上在这种情况下,我认为将所有代码从 fortytwo.py 移动到 __init__.py 会更容易。
  • 谢谢这是我正在寻找的答案:)
猜你喜欢
  • 1970-01-01
  • 2015-05-27
  • 2017-01-15
  • 2018-11-20
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多