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 的东西?
蓝牙连接错误:“jnius.jnius.JavaException:发生 JVM 异常:读取失败,套接字可能关闭或超时,读取 ret:-1”