我有一个已经构建/下载的Python蛋,我想将其转换为PEP 427中记录的轮式格式.
我怎样才能做到这一点?
我跑:
python3 setup.py bdist_wheel --universal
Run Code Online (Sandbox Code Playgroud)
它说它正在制作各种各样的东西,但结果目录(build/bdist.macosx-10.10-x86_64)是空的.我的车轮在哪里滚动?
编辑
我现在看到我正在尝试查看临时输出.当我指定时-d,确定在指定位置有一个轮子.是否-d有一个默认的?我的车轮一直停在我的鼻子底下吗?
running bdist_wheel
running build
running build_py
running egg_info
writing dependency_links to rosapi_launcher.egg-info/dependency_links.txt
writing top-level names to rosapi_launcher.egg-info/top_level.txt
writing rosapi_launcher.egg-info/PKG-INFO
writing requirements to rosapi_launcher.egg-info/requires.txt
reading manifest file 'rosapi_launcher.egg-info/SOURCES.txt'
writing manifest file 'rosapi_launcher.egg-info/SOURCES.txt'
installing to build/bdist.macosx-10.10-x86_64/wheel
running install
running install_lib
creating build/bdist.macosx-10.10-x86_64/wheel
creating build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/__init__.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/containers.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/launcher.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/prop_file.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/properties.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/snapshots.py -> build/bdist.macosx-10.10-x86_64/wheel/launcher
copying build/lib/launcher/utils.py …Run Code Online (Sandbox Code Playgroud) 我写了一个包含依赖关系依赖于psutil的包(my-package依赖于third-party-package它取决于psutil).
因为它应该没有任何连接,并没有在服务器上运行gcc,我与本地准备部署psutil 蟒蛇平台车轮和pip install my-package --download,然后在服务器上发送的一切.
现在服务器上的所有内容都准备就绪,但出于某种原因,当我运行安装时,pip拒绝安装psutil.请注意,服务器是一个red hat 7.2运行pip 7.1.0,virtualenv 1.10.1和python 2.7.5(我无法更改任何版本).
$ pip install /tmp/python_packages/my-package-1.4.zip --no-index
--find-links /tmp/python_packages/ --use-wheel
Ignoring indexes: https://pypi.python.org/simple/
# blablabla, everything goes fine, then
Downloading/unpacking psutil (from third-party-package>=0.9->my-package==1.4)
Could not find any downloads that satisfy the requirement psutil
(from third-party-package>=0.9->my-package==1.4)
Cleaning up...
No distributions at all found for psutil (from third-party-package>=0.9->my-package==1.4)
Storing complete log in /home/anto/.pip/pip.log …Run Code Online (Sandbox Code Playgroud) 如果a .whl在线可用,则pip始终安装它而不是从源代码编译.但是,对于某些特定模块,轮子恰好是为下一代处理器编译的,并且不在特定机器上运行.
如果我命令它只是下载包,那么它仍然下载轮而不是源.是否pip有某种机制来覆盖这种偏好?
我正在开发一个python2包,其中setup.py包含一些自定义安装命令.这些命令实际上构建了一些Rust代码并输出一些.dylib移动到python包中的文件.
重要的一点是Rust代码在python包之外.
setuptools如果python包是纯python或特定于平台(如果它包含一些C扩展),则应该自动检测.在我的情况下,当我跑步时python setup.py bdist_wheel,生成的轮子被标记为纯粹的蟒蛇轮:<package_name>-<version>-py2-none-any.whl.这是有问题的,因为我需要在不同的平台上运行此代码,因此我需要为每个平台生成一个轮子.
在构建车轮时,是否有办法强制构建特定于平台?
我在我的机器上安装 pandas 时遇到了这个错误:
运行 setup.py (路径:/tmp/pip-build-WzvvgM/pandas/setup.py) 包 pandas 的 Egg_info
清理...命令 python setup.py Egg_info 在 /tmp/pip-build-WzvvgM/pandas 中失败,错误代码为 1 在 /home/user508/.pip/pip.log 中存储失败的调试日志
我应该为 pandas 使用轮锉吗?Python“轮子”和“蛋”有什么区别?
从Python 打包用户指南中,我可以了解到两者都是用于安装 Python 包(或库)的存档格式,但“wheel”格式与“egg”格式有一个非常显着的区别。从用户的角度来看,轮子可以包含 C 和其他扩展,而无需安装开发人员工具(编译器等)。
为什么两者都用于安装Python包?
我在跑步:
pip install --editable .
Run Code Online (Sandbox Code Playgroud)
并得到以下内容:
Obtaining file:///content/nlp_tokenization_project
Installing build dependencies ... done
Getting requirements to build wheel ... error
ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/local/lib/python3.6/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpkhbslig1 Check the logs for full command output.
Run Code Online (Sandbox Code Playgroud)
我确保我有轮子包:
Requirement already satisfied: wheel in /usr/local/lib/python3.6/dist-packages (0.35.1)
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
当我运行以下命令来安装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 芯片上遇到了上述问题。
我有一个简单的 python 包,我们称之为my_package。
它的文件位于src/python/my_package.\n此外,存储库根目录中有一个data文件夹,该文件夹应包含在my_package.
.\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\nRun Code Online (Sandbox Code Playgroud)\n我没有找到任何方法来配置诗歌,它data以正确的方式包含附加文件夹。
这是我的pyproject.toml
[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"\nRun Code Online (Sandbox Code Playgroud)\n我还使用预构建脚本找到了以下解决方案:\n https://github.com/python-poetry/poetry/issues/5539#issuecomment-1126818974 …
python-wheel ×10
python ×9
pip ×4
egg ×2
apple-m1 ×1
h5py ×1
macos ×1
packaging ×1
pandas ×1
psutil ×1
pypi ×1
python-2.7 ×1
python-3.x ×1
setup.py ×1
setuptools ×1