python jnius库安装过程中的问题。 (依赖?)

Posted

技术标签:

【中文标题】python jnius库安装过程中的问题。 (依赖?)【英文标题】:Issues during installation of python jnius library. (dependencies?) 【发布时间】:2018-11-12 07:17:30 【问题描述】:

我想使用 pip 为 python 安装 jnius 库。我在安装过程中遇到错误。这是发生了什么:

C:\Users\Janka\AppData\Local\Programs\Python\Python35-32>python.exe -m pip 
install jnius
Collecting jnius
Using cached https://files.pythonhosted.org/packages/45/f5/5673f3906a9e8ca68cb7bc2d9a1eaa944c321271c4af621dbb51c13d385a/jnius-1.1.0.tar.gz
Requirement already satisfied: six>=1.7.0 in 
c:\users\janka\appdata\local\programs\python\python35-32\lib\site-packages 
(from jnius) (1.11.0)
Requirement already satisfied: cython in 
c:\users\janka\appdata\local\programs\python\python35-32\lib\site-packages 
(from jnius) (0.28.3)
Building wheels for collected packages: jnius

我无法解决的第一个错误: 可能,我没有 setup.py 文件。我可以通过 pip 以某种方式安装它吗?或者我该怎么办?也许我确实有它,如果有的话,我在哪里可以找到它或如何检查它?

Running setup.py bdist_wheel for jnius ... error
Complete output from command 
C:\Users\Janka\AppData\Local\Programs\Python\Python35-32\python.exe -u -c 
"import setuptools, 
tokenize;__file__='C:\\Users\\Janka\\AppData\\Local\\Temp\\pip-install- 
pnoxk945\\jnius\\setup.py';f=getattr(tokenize, 'open', open) 
(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, 
__file__, 'exec'))" bdist_wheel -d C:\Users\Janka\AppData\Local\Temp\pip- 
wheel-ngvrr7r6 --python-tag cp35:
WARNING: Not able to assign machine() = AMD64 to a cpu value!

(好吧,windows 并没有放弃 :D)

       Using cpu = 'i386' instead!
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-3.5
copying jnius_config.py -> build\lib.win32-3.5
creating build\lib.win32-3.5\jnius
copying jnius\reflect.py -> build\lib.win32-3.5\jnius
copying jnius\signatures.py -> build\lib.win32-3.5\jnius
copying jnius\__init__.py -> build\lib.win32-3.5\jnius
running build_ext
cythoning jnius\jnius.pyx to jnius\jnius.c
building 'jnius' extension

嗯,我需要 Microsoft Visual C++ 14.0,我尝试了建议的链接,但网页显示“帐户已过期”

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual 
C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

----------------------------------------
Failed building wheel for jnius
Running setup.py clean for jnius
Failed to build jnius
Installing collected packages: jnius

再一次,setup.py 文件..

Running setup.py install for jnius ... error
Complete output from command 
C:\Users\Janka\AppData\Local\Programs\Python\Python35-32\python.exe -u -c 
"import setuptools, 
tokenize;__file__='C:\\Users\\Janka\\AppData\\Local\\Temp\\pip-install- 
pnoxk945\\jnius\\setup.py';f=getattr(tokenize, 'open', open) 
(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, 
__file__, 'exec'))" install --record C:\Users\Janka\AppData\Local\Temp\pip- 
record-rdnylq3b\install-record.txt --single-version-externally-managed -- 
compile:
WARNING: Not able to assign machine() = AMD64 to a cpu value!
         Using cpu = 'i386' instead!
running install
running build
running build_py
creating build
creating build\lib.win32-3.5
copying jnius_config.py -> build\lib.win32-3.5
creating build\lib.win32-3.5\jnius
copying jnius\reflect.py -> build\lib.win32-3.5\jnius
copying jnius\signatures.py -> build\lib.win32-3.5\jnius
copying jnius\__init__.py -> build\lib.win32-3.5\jnius
running build_ext
skipping 'jnius\jnius.c' Cython extension (up-to-date)
building 'jnius' extension

错误:需要 Microsoft Visual C++ 14.0 - 再次,我在哪里可以得到它? / 如何安装?

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual 
C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

----------------------------------------
Command "C:\Users\Janka\AppData\Local\Programs\Python\Python35-32\python.exe 
-u -c "import setuptools, 
tokenize;__file__='C:\\Users\\Janka\\AppData\\Local\\Temp\\pip-install- 
pnoxk945\\jnius\\setup.py';f=getattr(tokenize, 'open', open) 
(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, 
__file__, 'exec'))" install --record C:\Users\Janka\AppData\Local\Temp\pip- 
record-rdnylq3b\install-record.txt --single-version-externally-managed -- 
compile" failed with error code 1 in C:\Users\Janka\AppData\Local\Temp\pip- 
install-pnoxk945\jnius\

C:\Users\Janka\AppData\Local\Programs\Python\Python35-32>

(我使用的是 Windows 10)

【问题讨论】:

【参考方案1】:

您需要安装 Visual Studio 2015。在安装过程中勾选 Languages--> C++. 框 此外,您可能需要设置环境变量

GYP_MSVS_VERSION = 2015

您也可以在此处下载适用于 Python 2.7 的 C++ 编译器 https://www.microsoft.com/en-us/download/details.aspx?id=44266

有关安装的更多详细信息,请参见此处 https://pyjnius.readthedocs.io/en/latest/installation.html#installation-for-windows

【讨论】:

如果我安装了 Visual Studio 2017 会怎样?不是也兼容吗? jnius 的 setup.py bdist_wheel - 运行错误呢?如果我有该文件,我应该在哪里寻找它?如果我没有(我想我没有),我怎么能得到它? 它应该可以正常工作。您将不得不自己尝试一下。或者,您可以使用以下链接中的 c++ 编译器。 microsoft.com/en-us/download/details.aspx?id=44266 。根据 Jnius 的文档,这应该可以正常工作。 好的,如何在windows中为非管理员用户设置环境变量?我找到了这个 docs.microsoft.com/en-us/previous-versions/windows/it-pro/… ,但我不知道如何使用它。 好吧,我在没有设置变量的情况下也可以工作:)。谢谢你的建议。

以上是关于python jnius库安装过程中的问题。 (依赖?)的主要内容,如果未能解决你的问题,请参考以下文章

为啥除了 jnius 我不能导入任何 pyjnius 的东西?

第一个 qpython jnius 示例不起作用?

蓝牙连接错误:“jnius.jnius.JavaException:发生 JVM 异常:读取失败,套接字可能关闭或超时,读取 ret:-1”

使用 Jnius 调用 w3c/Document

实验十二决策树判断你是否可学python

cmd运行pip安装python第三方库报错?怎么解决呢?