【问题标题】:Pypi package not getting installedPypi 包未安装
【发布时间】:2022-01-15 14:08:40
【问题描述】:

我正在为 python 发布一个实用程序库,主要是为了我自己的使用。你可以在 pypi here 上找到它。存储库是here。这是我的 setup.cfg:

[metadata]
name = raddoo
version = 0.0.4
description = "A collection of useful utility functions for python"

[options]
packages = raddoo
python_version = >=3.6

我正在使用python -m build 构建,它给了我一个 tar.gz 和 whl 文件。当我在另一个位置 pipenv install raddoo 时,似乎没有任何东西安装到 site-packages

ls $(pipenv --venv)/lib/python3.9/site-packages
_distutils_hack              pip-21.3.1.virtualenv        setuptools-58.5.3.virtualenv
_virtualenv.pth              pkg_resources                wheel
_virtualenv.py               raddoo                       wheel-0.37.0.dist-info
distutils-precedence.pth     raddoo-0.0.4.dist-info       wheel-0.37.0.virtualenv
pip                          setuptools
pip-21.3.1.dist-info         setuptools-58.5.3.dist-info

尝试导入它也会失败:

python -c 'import raddoo'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'raddoo'

我做错了什么?

【问题讨论】:

    标签: python pip setuptools pypi


    【解决方案1】:

    当你使用 ls 时,raddoo 就在那里。

    确保你在你的环境中,并检查python的版本。

    另外,在尝试导入它进行测试时,我收到以下错误:

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/local/lib/python3.9/dist-packages/raddoo/__init__.py", line 1
    import .context
           ^
    SyntaxError: invalid syntax
    

    要解决此问题,您可以进入 error.py、context.py、multimethod.py 和 __init__.py 并在导入时删除句点,而不是:

    import .core
    

    你会这样做:

    import core
    

    【讨论】:

    • 点肯定必须在那里,否则 Python 3 将找不到模块(绝对与相对导入)。请参阅stackoverflow.com/a/48716965/7976758stackoverflow.com/… 的所有答案
    • 谢谢,就是这样。我在正确的 virtualenv 中,但在错误的目录中,这使得 pipenv 在错误的站点包目录中查找。我不知道为什么,但你去吧。
    猜你喜欢
    • 2018-03-27
    • 2021-09-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    相关资源
    最近更新 更多