python安装wheel导致导入错误

Zua*_*abi 5 pip python-3.x python-wheel

我想制作一个wheel二进制发行版,安装它,然后将其导入python。我的步骤是

  • 我首先创建轮子:python ./my_package/setup.py bdist_wheel
  • 我安装轮子:pip install ./dist/*.whl
  • 我尝试导入包:python -c"import my_package"

这会导致错误: ImportError: No module named 'my_package'

另外,当我这样做时pip list,my_package会列出。但是,当我运行时which my_packge,没有显示任何内容。

当我运行时,pip install ./my_package/一切都按预期进行。

如何正确构建和安装轮子?

python 版本 3.5 pip 版本 10.1 轮子版本 0.31.1

更新:

当我查看 my_package-1.0.0.dist-info 中的文件时,top_level.txt. 这是我运行的文件夹的名称 python ./my_package/setup.py bdist_wheel。我相信我的文件夹setup.py已损坏。

关于已接受答案的更新: 我接受了下面的答案。然而,我认为最好直接cd进入包目录。使用该标志时,按照下面的建议更改为不同的目录会导致意外行为-d,即保存轮子的目标目录。这将相对于 setup.py 文件中指定的目录。

hoe*_*ing 1

如果您需要从另一个目录执行安装脚本,请确保在脚本中输入项目目录。

from setuptools import setup

root = os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))
os.chdir(root)

# or using pathlib (Python>=3.4):
import patlib
root = pathlib.Path(__file__).parent
os.chdir(str(root))

setup(...)
Run Code Online (Sandbox Code Playgroud)