标签: python-wheel

AnalysisException:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;

我将以下代码打包到 whl 文件中:

from pkg_resources import resource_filename
def path_to_model(anomaly_dir_name: str, data_path: str):
    filepath = resource_filename(anomaly_dir_name, data_path)
    return filepath
def read_data(spark) -> DataFrame:
    return (spark.read.parquet(str(path_to_model("sampleFolder", "data"))))
Run Code Online (Sandbox Code Playgroud)

我确认whl文件正确包含sampleFolder/data/目录下的镶木地板文件。当我在本地运行它时,它可以工作,但是当我将此 whl 文件上传到 dbfs 并运行时,我收到此错误:

AnalysisException: Path does not exist: dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;
Run Code Online (Sandbox Code Playgroud)

我确认这个目录实际上不存在: dbfs:/databricks/python 知道这个错误可能是什么吗?

谢谢。

python pkg-resources parquet python-wheel databricks

5
推荐指数
2
解决办法
7463
查看次数

如何对 python 轮子创建的可执行文件进行代码签名?

我正在使用 setuptools 创建一个带有可执行文件作为轮子的 python 包。我的简化setup.py文件如下所示:

setup(
    name="mypackage",
    version="1.0.0",
    entry_points={"console_scripts": {"mypackage = mypackage.cli:cli"}}
)
Run Code Online (Sandbox Code Playgroud)

创建python包的命令:

python setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)

安装生成的轮子时,mypackage.exe会按预期在脚本目录中创建一个文件。

如何确保创建的可执行文件是使用给定证书进行代码签名的?我知道如何使用 Powershell 对现有可执行文件进行代码签名signtool.exe,但由于可执行文件似乎是在安装轮子时在客户端计算机上创建的,因此我不知道该怎么做。

python code-signing setuptools python-wheel

5
推荐指数
0
解决办法
412
查看次数

为 Opencv 构建轮子失败

我使用以下命令将 Wheel、pip 和 setuptools 全部升级到最新版本。

pip3.9 install --upgrade pip setuptools wheel

当我尝试安装 opencv 时pip3.9 install opencv-python,出现错误。我尝试安装旧版本,但出现相同的错误 ( 4.5.5.62)。这是我遇到的错误,请看一下,谢谢!

Python版本:3.9(opencv-python在3.8时就可以工作)

应用:PyCharm

Traceback (most recent call last):
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 244, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
          self.run_setup()
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/private/var/folders/0v/j0nhw8p50yd3_w61mysphgjc0000gn/T/pip-build-env-rp7pv38q/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, …
Run Code Online (Sandbox Code Playgroud)

python opencv pip setuptools python-wheel

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

如何使用 fortran 扩展构建 Python 包

我制作了一个包含 fortran 扩展的 Python 包。当我运行pip install -e .在本地测试它时,它可以工作,但是当我构建轮子并将它们上传到 PyPI 时,然后pip install my_package这就是我导入它时得到的结果:

ImportError: DLL load failed while importing functions: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

看起来setup.py像这样:

ImportError: DLL load failed while importing functions: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

工作流程如下所示:

from numpy.distutils.core import Extension, setup
...
extension = Extension(name='my_package.fortran.functions',
                          sources=['my_package/fortran/erf.f', 'my_package/fortran/erf.pyf'],
                          extra_link_args=["-static", "-static-libgfortran", "-static-libgcc"],)
                          #extra_compile_args=['/d2FH4-'] if sys.platform == 'win32' else [])

setup(
...
ext_modules=[extension]
...
)
Run Code Online (Sandbox Code Playgroud)

我在使用 ubuntu 和 macos 时遇到问题,因此对这些操作系统进行了评论,但我也想为这些操作系统构建。

安装依赖项正在尝试解决此问题。 …

python dll fortran python-wheel

5
推荐指数
0
解决办法
467
查看次数

使用 python 3.10 在 ubuntu 20.04 上 pip install mysqlclient 失败

我正在尝试使用 pip 安装 mysqlclient,但它一直给我错误消息,\n我已经进行了开发sudo apt-get install python3-dev default-libmysqlclient-dev build-essential,\n 也没有使用此步骤:\n LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient,并且这个sudo apt-get install libmariadb-dev-compat libmariadb-dev libssl-dev

\n

最后我总是得到这个:Building wheel for mysqlclient (setup.py) ... error error: subprocess-exited-with-error,我使用 python 版本 3.10.4 作为主要版本,但我有另一个版本(2.7.18、3.8.10 和 3.9.5),

\n

如果我尝试使用 anaconda 下载 pip install mysqlclient ,是否会导致其他问题,因为我已经有 python 了?

\n

这是我的全部输出

\n
Collecting mysqlclient\n  Using cached mysqlclient-2.1.0.tar.gz (87 kB)\n  Preparing metadata (setup.py) ... done\nBuilding wheels for collected packages: mysqlclient\n  Building wheel for mysqlclient (setup.py) ... error\n  error: subprocess-exited-with-error\n …
Run Code Online (Sandbox Code Playgroud)

python mysql pip python-wheel ubuntu-20.04

5
推荐指数
1
解决办法
4109
查看次数

使用 pyproject.toml 和 setuptools 从包数据中包含或排除(许可证)文件

长话短说

\n

如何可靠地将来自LICENSES/(重用样式)的文件包含在源存档中,并为具有src/布局的 Python 包提供轮子?如何排除特定文件?

\n

细节

\n

我的项目结构看起来像

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSES\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MAIN.txt\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 SECUNDARY.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MANIFEST.in\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 random_package\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo1.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo2.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 submodule1\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bar1.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 submodule2\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bar2.cpp\n
Run Code Online (Sandbox Code Playgroud)\n

看起来pyproject.toml

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSES\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MAIN.txt\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 SECUNDARY.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MANIFEST.in\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 random_package\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo1.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo2.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 submodule1\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bar1.cpp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 submodule2\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 …
Run Code Online (Sandbox Code Playgroud)

python setuptools python-wheel python-packaging pyproject.toml

5
推荐指数
1
解决办法
3003
查看次数

如何为 cibuildwheel/auditwheel 打包库?

我对 Rtree 的一个问题感到困惑,Rtree 是我偶尔贡献的一个 Python 包。该包使用cibuildwheel为 PyPI 生成二进制轮。该包使用 ctypes 绑定到libspatialindex的 C API 。

以下是该过程的高级描述:

  1. 轮子构建是使用 GitHub Actions 触发的build.yml
  2. libspatialindex 的本地构建使用 进行编译install_libspatialindex.bash,并将*.so*共享库复制到 Rtree Python 包中(具体来说rtree/lib
  3. 轮子构建由 控制setup.py,它将rtree/lib文件复制到轮子。(可能package-data会更容易,但那是题外话)。构建这个初始的二进制轮,例如将和python -m build --wheel相加。rtree/lib/libspatialindex.sortree/lib/libspatialindex_c.so
  4. Auditwheel通过神奇地找到 Linux 二进制文件(不确定这是如何完成的)来“修复”二进制轮,然后用于为二进制轮patchelf生成新的共享库。Rtree.libs/libspatialindex-91fc2909.so.6.1.1

最终结果是一个带有共享库的两个副本的 Linux 二进制轮(一个在 中Rtree.libs,原始的在 中rtree/lib)。首选库是由auditwheel 创建的库,采用Rtree.libs.

解决方法可能是在和rtree/lib的帮助下删除。wheel unpackwheel pack


问题

应该如何配置 cibuildwheel/auditwheel …

linux python-wheel python-packaging

5
推荐指数
0
解决办法
254
查看次数

在Windows上安装numpy轮式(不是这个平台上支持的轮子.)

从轮子格式安装numpy:"......这个平台上不支持轮子"

我知道之前已经问过这个问题,但没有一个解决方案能解决我的问题.

首先,就像其他人一样,我去http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype并下载,numpy-1.10.4+mkl-cp27-cp27m-win_amd64.whl因为我的Windows 10是64位,而我的python是2.7.

然后我设置文件所在的路径 cd Desktop,然后键入pip install numpy-1.10.4+mkl-cp27-cp27m-win_amd64.whl.

作为回报我得到 numpy-1.10.4+mkl-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.

然后,我想确保我正在运行正确的whl文件.所以,我输入python终端窗口检查版本和诸如此类的内容,并得到以下消息Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32

win32当我拥有Windows 10 64位操作系统,基于x64的处理器时,它让我感到困惑

无论哪种方式,我试过`numpy-1.10.4 + mkl-cp27-cp27m-win32.whl',但无济于事.

numpy python-2.7 python-wheel

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

使用pip在python 3.5上安装twis​​ted和virtualenv

当我跑

pip install twisted
Run Code Online (Sandbox Code Playgroud)

在Windows的命令行中,它开始安装包,直到流线出现.

failed building wheel for twisted 
Run Code Online (Sandbox Code Playgroud)

pip然后很快坠毁,说它安装失败了.

为什么是这样 ?

有没有办法围绕它安装扭曲?

我的车轮版本是0.29,Windows 10.扭曲安装在python 2.7上罚款

谢谢

python pip twisted python-wheel

4
推荐指数
1
解决办法
8148
查看次数

点子安装被杀

每次当我尝试安装一些包时,我得到:

(ecz) root@zakazatdostavku:/opt# pip install django gunicorn
Collecting django
  Downloading Django-1.11-py2.py3-none-any.whl (6.9MB)
    99% |????????????????????????????????| 6.9MB 11.6MB/s eta 0:00:01Killed
Run Code Online (Sandbox Code Playgroud)

这是--verbose版本 https://github.com/AnSharipov/restrict-same-words/blob/a4b2b4ed47c376ca15bbc19569e72cd3a4533292/log上的链接

python django pip python-wheel

4
推荐指数
1
解决办法
2719
查看次数