从 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 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 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) 我的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?有谁知道为什么会发生这种情况?
我一直在尝试使用 MSVC 编译器和英特尔 MKL 从 Windows 10 上的源代码编译 NumPy。我正在使用 Microsoft Visual Studio 2019 (16.8.4) 和 Intel MKL 2017.8.275 运行 Windows 10.0.18363。
我设法使用最新的 Python 和 NumPy 以最少的设置重现了这个问题。
下载最新的 Python (3.9.1) 和最新的 NumPy (1.20.1) 源。
打开 VS 命令提示符,解压 Python 源代码,构建 PCbuild\build.bat
运行mklvars.bat intel64以获得正确的环境变量集。
将英特尔编译器(ifort 所需)添加到 PATH:
set PATH=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\bin\intel64;%PATH%
Run Code Online (Sandbox Code Playgroud)
创建一个虚拟环境,从 Python 构建中复制一些文件并激活虚拟环境:
copy Python\PCbuild\amd64\python39.dll venv\Scripts
copy Python\PC\pyconfig.h venv\Include
Run Code Online (Sandbox Code Playgroud)
从源代码构建 NumPy 并安装: pip install . -v
尝试导入 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) 我目前在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 的新软件包
(原始问题)在 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) 对于在 Python 3.8+ 中加载 DLL 库,我了解不再使用路径环境变量来搜索依赖项。因此函数 os. 应该使用 add_dll_directory() 将目录添加到搜索路径。这在我的机器上有效。
目录是否可以永久添加?我注意到现在所有内容都已正确加载,无需首先使用提到的函数添加 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 ×9
dll ×4
numpy ×2
python-3.x ×2
windows ×2
c++ ×1
excel ×1
intel-mkl ×1
libvlc ×1
loadlibrary ×1
macos ×1
pandas ×1
pyd ×1
python-3.7 ×1
python-3.8 ×1
pywin32 ×1
scikit-learn ×1
spyder ×1
tornado ×1
visual-c++ ×1
vlc ×1
win32com ×1
windows-10 ×1