相关疑难解决方法(0)

如何确定我的python shell是否在OS X上以32位或64位模式执行?

我需要一种方法来告诉shell在shell中的模式.

我试过看平台模块,但它似乎只是告诉你"关于位体系结构和用于可执行文件的链接格式":二进制编译为64位虽然(我在OS X 10.6上运行)所以它似乎总是报告64位,即使我使用这里描述的方法强制32位模式).

python macos

386
推荐指数
15
解决办法
30万
查看次数

ValueError:numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 头文件的 88,来自 PyObject 的 80

从 pyxdameraulevenshtein 导入会出现以下错误,我有

pyxdameraulevenshtein==1.5.3, 
pandas==1.1.4 and 
scikit-learn==0.20.2. 
Numpy is 1.16.1. 
Works well in Python3.6, Issue in Python3.7.
Run Code Online (Sandbox Code Playgroud)

有没有人在 Python3.7 (3.7.9)、docker image - python:3.7-buster 上遇到过类似的问题

__init__.pxd:242: in init pyxdameraulevenshtein
    ???
E   ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
Run Code Online (Sandbox Code Playgroud)

python numpy pandas scikit-learn python-3.7

73
推荐指数
12
解决办法
8万
查看次数

ImportError:没有名为win32com.client的模块

我目前正在使用python 2.7并尝试打开Excel工作表.使用以下代码时:

import os
from win32com.client import Dispatch

xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible = True
# Open the file we want in Excel
workbook = xlApp.Workbooks.Open('example.xls')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

import os
from win32com.client import Dispatch

xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible = True
# Open the file we want in Excel
workbook = xlApp.Workbooks.Open('example.xls')
Run Code Online (Sandbox Code Playgroud)

因为我使用的是64位Windows机器,是否有可能出现错误?请帮我解决一下这个.

python excel win32com

70
推荐指数
7
解决办法
21万
查看次数

FileNotFoundError: 找不到模块“libvlc.dll”

使用 Python 3.8.0,64 位

操作系统:Windows 10 Pro,版本 10.0.15063 Build 15063,64 位

VLC,3.0.8 Vetinari,64 位

已经通过 PIP 安装了 Python VLC 绑定

VLC 的路径和 libvlc.dll 的直接路径都在我的“PYTHONPATH”和“PATH”环境变量中。

我正在通过 Windows 命令提示符运行我的脚本。

我试图运行的脚本是一行:

import vlc
Run Code Online (Sandbox Code Playgroud)

这是命令提示符告诉我的:

Traceback (most recent call last):
  File "001.py", line 1, in <module>
    import vlc
  File "C:\Program Files\Python38\lib\site-packages\vlc.py", line 207, in <module>
    dll, plugin_path  = find_lib()
  File "C:\Program Files\Python38\lib\site-packages\vlc.py", line 163, in find_lib
    dll = ctypes.CDLL(libname)
  File "C:\Program Files\Python38\lib\ctypes\__init__.py", line 369, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find …
Run Code Online (Sandbox Code Playgroud)

python windows vlc libvlc python-3.x

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

在 Python 中加载具有依赖项的 DLL

我的proj1.dll它依赖于另一个 DLL proj2.dll,. 我是proj1.dll针对VS2013中编译时编译器输出的导入库进行编译的proj2.dll。我还导出了我有兴趣使用的公共函数。所以现在我有两个独立的 DLL,它们都符合“cdll”标准。

我想在 Python 中使用proj1.dll,但遇到以下问题:

import ctypes

# Crashes saying no entry point for "some_func" in proj2.dll
ctypes.cdll.LoadLibrary("C:\myfolder\proj1.dll")

ctypes.cdll.LoadLibrary("C:\myfolder\proj2.dll") # Loads fine
ctypes.cdll.LoadLibrary("C:\myfolder\proj1.dll") # Loads fine if proj2 is loaded first
Run Code Online (Sandbox Code Playgroud)

以前,当我构建proj2为静态库并在proj1. 这两个 DLL 存在于同一文件夹中。我什至尝试将文件夹的路径添加到我的 PATH 环境变量中,以查看这是否是路径问题,但没有任何改变。

我假设 Windows 将加载proj1.dll然后加载 dll 的依赖项。我错了吗?调用者(Python)是否必须首先加载依赖DLL?有谁知道为什么会发生这种情况?

c++ python dll loadlibrary

8
推荐指数
1
解决办法
8715
查看次数

在 Windows 上使用 MKL 编译 NumPy - DLL 加载失败

我一直在尝试使用 MSVC 编译器和英特尔 MKL 从 Windows 10 上的源代码编译 NumPy。我正在使用 Microsoft Visual Studio 2019 (16.8.4) 和 Intel MKL 2017.8.275 运行 Windows 10.0.18363。

我设法使用最新的 Python 和 NumPy 以最少的设置重现了这个问题。

  1. 下载最新的 Python (3.9.1) 和最新的 NumPy (1.20.1) 源。

  2. 打开 VS 命令提示符,解压 Python 源代码,构建 PCbuild\build.bat

  3. 运行mklvars.bat intel64以获得正确的环境变量集。

  4. 将英特尔编译器(ifort 所需)添加到 PATH:

    set PATH=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\bin\intel64;%PATH%
    
    Run Code Online (Sandbox Code Playgroud)
  5. 创建一个虚拟环境,从 Python 构建中复制一些文件并激活虚拟环境:

    copy Python\PCbuild\amd64\python39.dll venv\Scripts
    copy Python\PC\pyconfig.h venv\Include
    
    Run Code Online (Sandbox Code Playgroud)
  6. 从源代码构建 NumPy 并安装: pip install . -v

  7. 尝试导入 NumPy: python -c "import numpy"

错误信息

Traceback (most recent call last):
  File "C:\cygwin\home\user\numpy_clean_env\venv\lib\site-packages\numpy\core\__init__.py", …
Run Code Online (Sandbox Code Playgroud)

python dll numpy visual-c++ intel-mkl

7
推荐指数
1
解决办法
288
查看次数

如何在 Windows 10 上安装特定 Python 版本的包?

我目前在Windows 10上有 Python 3.7.4(64 位)和 Python 3.6.6(64 位)这两个版本都在我的系统环境变量(路径)中。

我以前只有3.7,安装了3.6来使用pocketsphinx,现在我想升级PyAudio我的3.6。所做的pip install --upgrade pyaudio就是升级pyaudio3.7。那么,如何在 Windows 计算机上升级(甚至安装)特定 python 版本的包?

这也是我尝试过的:
python-3.6.6 pip install --upgrade pyaudio
python3.6.6 pip install --upgrade pyaudio和。 是的,这些也许很愚蠢,但我却无可奈何。
python3.6 pip install --upgrade pyaudio
pip3.6.6 install --upgrade pyaudio

编辑1:
我还pip install --upgrade pyaudio通过在安装Python 3.6的目录中打开它来在power shell中运行,这是(Windows的默认安装目录):C:\Users\--user-name--\AppData\Local\Programs\Python\Python36例如: 这就是正在发生的事情,但它不起作用 从版本中可以看出,pip install仍然会安装 python 3.7 的新软件包

python package-managers python-3.x

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

Spyder IDE 无法在使用 Python 3.8 的 Windows 10 上启动

注意:此问题已在 Spyder 4.1.3 中修复!


(原始问题)在 Windows 10 上检查 Python 3.8 (x64),我在尝试设置Spyder. 注意:在干净的 Windows-10 系统上使用全新的 Python 安装可以重现该问题。但是,在 Linux 上没有这样的问题(在 debian / Mint19.x 上测试)。

起初,通过pip install spyder.


错误 #1: pywin32

启动后Spyder,它在IPython控制台窗口中说:

Traceback (most recent call last):
File "c:\users\USERNAME\appdata\local\programs\python\python38\lib\site?packages\spyder\plugins\ipythonconsole.py", line 1572, in create_kernel_manager_and_kernel_client
kernel_manager.start_kernel(stderr=stderr_handle)
File "c:\users\USERNAME\appdata\local\programs\python\python38\lib\site?packages\jupyter_client\manager.py", line 240, in start_kernel
self.write_connection_file()
File "c:\users\USERNAME\appdata\local\programs\python\python38\lib\site?packages\jupyter_client\connect.py", line 470, in write_connection_file
self.connection_file, cfg = write_connection_file(self.connection_file,
File "c:\users\USERNAME\appdata\local\programs\python\python38\lib\site?packages\jupyter_client\connect.py", line 141, in write_connection_file
with secure_write(fname) as f:
File "c:\users\USERNAME\appdata\local\programs\python\python38\lib\contextlib.py", line 113, in __enter__ …
Run Code Online (Sandbox Code Playgroud)

pywin32 tornado spyder windows-10 python-3.8

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

是函数 os. add_dll_directory() 永久添加目录?

对于在 Python 3.8+ 中加载 DLL 库,我了解不再使用路径环境变量来搜索依赖项。因此函数 os. 应该使用 add_dll_directory() 将目录添加到搜索路径。这在我的机器上有效。

目录是否可以永久添加?我注意到现在所有内容都已正确加载,无需首先使用提到的函数添加 dll 目录。我无法重现找不到依赖项的错误。

文档中我不明白任何东西都会永久改变。

python dll

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

使用命令行发现丢失的模块(“DLL 加载失败”错误)

在 Windows 上,当我们尝试导入一个文件,但找不到所依赖的.pydDLL 时,我们会得到以下回溯:.pyd

Traceback (most recent call last):
  ...
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

发生这种情况时,通常必须求助于依赖关系等图形工具来找出丢失模块的名称。

如何通过命令行获取缺少的模块名称?

上下文:我们经常在 CI 中遇到此错误,通过 SSH 登录来查找丢失的模块名称会更容易,而不是通过 GUI 登录。

python windows dll pyd

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