标签: python-wheel

错误:为 h5py 构建轮子失败无法构建 h5py 错误:无法为 h5py 构建轮子,这是安装 pyproject.toml-basedprojects 所必需的

当我运行以下命令来安装tensorflow时,出现此错误。

python3 -m pip install tensorflow-macos
Run Code Online (Sandbox Code Playgroud)
ERROR: Failed building wheel for h5py
Failed to build h5py
ERROR: Could not build wheels for h5py, which is required to install pyproject.toml-based projects
Run Code Online (Sandbox Code Playgroud)

我厌倦了从官方链接( https://pypi.org/project/h5py/#files )手动安装这个轮子,它已正确安装,但我仍然遇到相同的错误。

我在 Mac Book M1 芯片上遇到了上述问题。

macos h5py python-wheel pyproject.toml apple-m1

11
推荐指数
1
解决办法
2万
查看次数

诗歌包括轮子中的附加数据文件

我有一个简单的 python 包,我们称之为my_package

\n

它的文件位于src/python/my_package.\n此外,存储库根目录中有一个data文件夹,该文件夹应包含在my_package.

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 python\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_package\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 stuff.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n
Run Code Online (Sandbox Code Playgroud)\n

我没有找到任何方法来配置诗歌,它data以正确的方式包含附加文件夹。

\n

这是我的pyproject.toml

\n
[tool.poetry]\nname = "my-package"\nversion = "2.10.0" \n\npackages = [\n    { include = "my_package", from = "src/python" }\n]\n\n# This does not work! It puts the `data` folder into site-packages/data instead of site-packages/my_package/data\ninclude = [\n    { path = "data", format = ["sdist", "wheel"] }\n]\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\n
Run Code Online (Sandbox Code Playgroud)\n

我还使用预构建脚本找到了以下解决方案:\n https://github.com/python-poetry/poetry/issues/5539#issuecomment-1126818974 …

python python-wheel python-poetry

11
推荐指数
0
解决办法
3708
查看次数

请问python的新"点子轮"具有兴建车轮在tests_requires列出的依赖任何支持?

我使用setuptools'tests_require'来指定测试我的包所需的依赖项.

tests_require - http://pythonhosted.org/distribute/setuptools.html#new-and-changed-setup-keywords
Run Code Online (Sandbox Code Playgroud)

我已经开始使用滚轮包装了

http://wheel.readthedocs.org/en/latest/
Run Code Online (Sandbox Code Playgroud)

并为我当前的包及其所有依赖项构建wheel的目录.

pip wheel --wheel-dir=/tmp/wheelhouse .
Run Code Online (Sandbox Code Playgroud)

不过,我想也建立车轮在任何软件包tests_require列出的所有软件包.

显然,我可以在重复的test_requirements.txt文件中明确指定需求:

pip wheel --wheel-dir=/mnt/wheelhouse -r test-requirements.txt
Run Code Online (Sandbox Code Playgroud)

但后来我在测试需求文件和tests_require列表中复制了依赖项.我可以将测试需求文件读入tests_require,但这似乎是滥用需求文件,据我所知,这些文件旨在让用户能够控制指定已知可以协同工作的软件包的环境.

Requirements files - http://www.pip-installer.org/en/latest/cookbook.html
Run Code Online (Sandbox Code Playgroud)

python pip setuptools python-wheel

10
推荐指数
1
解决办法
1094
查看次数

使用setup.py和wheels安装软件包依赖项

我们正在使用一个内部托管的PyPI服务器(devpi-server),以便我们可以托管大型软件包的二进制轮子,这些软件包需要很长时间才能从scipy,matplotlib等源代码安装.安装这些软件包时,pip install scipy工作完美,绝对使用我们的轮子创造了.但是,使用任何内部开发的python包,这些包依赖于其中一个包并运行会python setup.py install|develop|test|whatever导致以下错误:

No local packages or download links found for scipy
Traceback (most recent call last):
  File "setup.py", line 136, in <module>
    'develop': DevelopCommand
  File "/usr/local/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 239, in __init__
    self.fetch_build_eggs(attrs.pop('setup_requires'))
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/setuptools/dist.py", line 263, in fetch_build_eggs
    parse_requirements(requires), installer=self.fetch_build_egg
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 564, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "/users/me/virtualenvs/devpi-test/lib/python2.7/site-packages/pkg_resources.py", line 802, in best_match
    return self.obtain(req, …
Run Code Online (Sandbox Code Playgroud)

python pypi devpi python-wheel

10
推荐指数
1
解决办法
2566
查看次数

轮子 .whl 缓存文件存储在哪里?

$ python3 -m venv ~/venvs/vtest
$ source ~/venvs/vtest/bin/activate
(vtest) $ pip install numpy
Collecting numpy
  Cache entry deserialization failed, entry ignored
  Using cached https://files.pythonhosted.org/packages/d2/ab/43e678759326f728de861edbef34b8e2ad1b1490505f20e0d1f0716c3bf4/numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.17.4
(vtest) $
Run Code Online (Sandbox Code Playgroud)

我正在寻找这个轮子numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl被缓存在哪里?

$ sudo updatedb
$ locate numpy-1.17.4
$ # nada ;(
Run Code Online (Sandbox Code Playgroud)

文档https://pip.pypa.io/en/stable/reference/pip_install/#wheel-cache告诉我们Pip will read from the subdirectory wheels within the pip cache directory and use any packages found there.

$ pip --version
pip 9.0.1 from ~/venvs/vtest/lib/python3.6/site-packages (python 3.6)
$
Run Code Online (Sandbox Code Playgroud)

要回答 Hamza Khurshid …

python pip python-wheel

10
推荐指数
2
解决办法
7870
查看次数

如何通过pip下载跨平台车轮?

我习惯于使用Pip预先下载软件包,然后将它们复制到目标机器进行部署.随着新推出的Python Wheels,我被迫"pip ... --no-use-wheel",因为一些下载的软件包是特定于平台的(我正在开发OSX并部署到Debian)并且不会安装在目标机器上.有没有办法为目标平台(或平台无关)下载车轮?

python pip setuptools python-wheel

9
推荐指数
2
解决办法
6061
查看次数

在 python 轮中只包含 *.pyc 文件

如何在 python 轮中只包含 *.pyc 文件?创建鸡蛋时,过去可以运行 python setup.py bdist_egg --exclude-source-files

鉴于鸡蛋已被轮子取代,我将如何重现类似的结果?

egg python-3.x python-wheel

9
推荐指数
1
解决办法
786
查看次数

使用 pip 执行安装后任务

我的项目树结构

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 example.gif\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 funmotd\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.json\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 quotes_db.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSE\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 setup.py\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

setup.py(为了减少代码量,删除了一些代码)

\n\n
import sys\nimport os\nimport setuptools\nfrom setuptools.command.install import install\n\nclass PostInstall(install):\n    def run(self):\n        mode = 0o666\n        bashrc_file = os.path.join(os.path.expanduser(\'~\'), ".bashrc")\n        install.run(self)\n        # Added CLI to .bashrc\n        # Change "config.json" file permission\n\n\nsetuptools.setup(\n      ...\n      entry_points={\'console_scripts\': [\'funmotd = funmotd:main\']},\n      package_dir={\'funmotd\': \'funmotd/\'},\n      package_data={\'funmotd\': [\'config.json\'], },\n      include_package_data=True,\n      python_requires=">=3.4",\n      cmdclass={\'install\': PostInstall, },\n      ...      \n)\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

PostInstall当我运行时,执行得很好python3 setup.py install。因此,上传到Pypi如下(来自此文档

\n\n
$ python3 setup.py bdist_wheel\n# Created …
Run Code Online (Sandbox Code Playgroud)

pip setuptools pypi python-3.x python-wheel

9
推荐指数
1
解决办法
1770
查看次数

无法在 python 3.10 上安装 numpy

我对机器学习很陌生,当我尝试安装 numpy 时发生了这种情况,你们能帮我解决这个问题吗?我正在使用 python 3.10.0

错误:为 numpy 构建轮子失败 无法构建 numpy 错误:无法为 numpy 构建轮子,这是安装基于 pyproject.toml 的项目所必需的

python version python-wheel python-3.10

9
推荐指数
2
解决办法
2万
查看次数

如何在由 Poetry 构建的 Wheel 中包含共享对象文件

我有一个简单的包,其中包含 C 扩展。我正在使用 Poetry 管理我的依赖关系和构建过程。

当我运行时poetry build,扩展被编译并包含在 .tar.gz 存档中,但不在 .whl 中,我不明白为什么。从 tar.gz 归档文件安装的 pip 按预期工作,但由于 Wheel 缺少 .so,pip 安装 Wheel 会导致软件包无法使用。

我已经从这里提升了构建机制:https ://github.com/python-poetry/poetry/issues/2740

pyproject.toml

[tool.poetry]
name = "python_ctypes"
version = "0.1.0"
description = ""
authors = ["Me"]
include = [
    {path = "_extensions/*.so", format = "wheel"}
]

[tool.poetry.dependencies]
python = "^3.9"
numpy = "^1.22.1"

[tool.poetry.dev-dependencies]

[tool.poetry.build]
generate-setup-file = false
script = "build.py"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
Run Code Online (Sandbox Code Playgroud)

build.py

"""Poetry build script for python_ctypes"""
import os …
Run Code Online (Sandbox Code Playgroud)

python python-wheel python-poetry

9
推荐指数
0
解决办法
3957
查看次数