为了在我们的公司内部分python项目,我需要进行可安装的分发.
这应该包括:
是否有一个简单的插件,(例如bdist_wheel的替代品)不仅会编译一个轮子而且还会编译该项目的组件?
显然我可以编写脚本,但我希望可能有一个快捷方式,可以用更少的步骤构建软件包+依赖项.
这需要在Windows + Linux上使用Python 2.7.
我正在setup.py寻找包含非python文件的各种选项,并且它们不那么直观.我希望能够检查生成的包bdist_wheel,看看它实际上是什么 - 不是为了确保它能够工作(这是测试的用途),而是看看我设置的选项的效果.
如何列出包含在的文件.whl?
pip install numpy=1.19.1我正在尝试在 python 虚拟环境中使用命令安装特定版本的 numpy 。但我收到以下错误
ERROR: Failed building wheel for numpy
Failed to build numpy
ERROR: Could not build wheels for numpy which use PEP 517 and cannot be installed directly
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我正在使用 Python 3.9.6 和 Pip 21.1.3。我使用的是 macOS Big Sur。
轮子在鸡蛋上的优势很明显(参见为什么不用鸡蛋?https://pypi.python.org/pypi/wheel).
然而,我并不完全清楚使用车轮的优点是什么tar.gz.我可能会遗漏一些明显的东西,比如"它们是一样的".我认为它们都可以直接使用pip(即使在Windows中),具有相似的尺寸,并且在打包时需要类似的工作.听起来像是在证明包装方法论时可能遇到的问题.
编辑:刚刚找到一个tar.gz可能比轮子更好的例子.CherryPy(https://pypi.python.org/pypi/CherryPy)仅为Python 3.x提供轮子,所以如果你想拥有一个本地存储库来为Python 2.7和3.x依赖项提供CherryPy,它似乎是存储tarball更有意义.它是否正确?(只是为讨论添加一些"基于案例"的理由)
我正在尝试在 Windows 上安装 ernie 和 tokenizer,但是对于这两种情况,它都显示以下错误:
ERROR: Command errored out with exit status 1:
command: 'c:\users\my pc\appdata\local\programs\python\python39\python.exe' 'c:\users\my pc\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\MYPC~1\AppData\Local\Temp\tmpyfqm86h3'
cwd: C:\Users\my pc\AppData\Local\Temp\pip-install-504a8mvv\tokenizers_a45d458877334719a3bf67c944dce6d7
Complete output (38 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib
creating build\lib\tokenizers
copying tokenizers\__init__.py -> build\lib\tokenizers
running build_ext
running build_rust
Updating crates.io index
cargo rustc --lib --manifest-path Cargo.toml --features pyo3/extension-module --target x86_64-pc-windows-msvc --release --verbose -- --crate-type cdylib
warning: unused manifest key: target.x86_64-apple-darwin.rustflags
Compiling proc-macro2 v1.0.30
Compiling unicode-xid v0.2.2
Compiling syn v1.0.80
Compiling …Run Code Online (Sandbox Code Playgroud) 我有一个闭源Python模块,我正在开发,并希望与我工作场所的人分享.我setup.py bdist_wheel用这个setup.py文件构建了一个wheel通道:
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(name='mypkg',
version='0.0.1',
description='tools for work',
author='tbhartman',
packages=find_packages('src', exclude=['test*']),
package_dir = {'':'src'},
entry_points={
'console_scripts':[
'runtool = mypkg.run:main',
],
},
install_requires = ['argparse'],
classifiers = [
'Development Status :: 3 - Alpha',
'Programming Language :: Python :: 2',
]
)
Run Code Online (Sandbox Code Playgroud)
我想测试安装过程,所以我尝试pip install dist\mypkg-0.0.1-py2-none-any.whl并获得以下回溯:
Exception:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pip\basecommand.py", line 139, in main
status = self.run(options, args)
File "C:\Python27\lib\site-packages\pip\commands\install.py", line 235, in run
InstallRequirement.from_line(name, None))
File "C:\Python27\lib\site-packages\pip\req.py", line 118, …Run Code Online (Sandbox Code Playgroud) 如何控制pip新创建的virtualenv中使用的版本?我相信我已经从操作系统中消除了所有其他版本的pip,但仍然mkvirtualenv从某个地方获得了一个pip-1.5!我希望它在virtualenv中使用pip 1.4.1.
__PRE__
我想创建python包,.so在Linux上使用cffi模块嵌入和使用外部库().
有没有标准的方法将.so文件包含到python包中?
该软件包仅在内部使用,不会发布到pypi.
我认为Wheel包是最好的选择 - 他们会创建特定于平台的包,所有文件都可以复制,因此不需要在目标环境中构建任何东西.
我用anaconda包安装了新版python 3.6.但是我无法安装tensorflow.总是收到错误
tensorflow_gpu-1.0.0rc2-cp35-cp35m-win_amd64.whl不是此平台上支持的滚轮.
如何在anaconda(python 3.6)上安装tensorflow?
python ×10
python-wheel ×10
pip ×4
virtualenv ×2
egg ×1
install ×1
installation ×1
module ×1
numpy ×1
packaging ×1
python-2.7 ×1
python-cffi ×1
tar ×1
tensorflow ×1
windows ×1