pyjnius不在虚拟环境中工作
Posted
技术标签:
【中文标题】pyjnius不在虚拟环境中工作【英文标题】:pyjnius not working in virtual environment 【发布时间】:2016-07-07 17:27:19 【问题描述】:我正在 django 中使用 pyjnius。我无法将它作为模块导入,所以我像这样使用它
os.system("python home/pyjnius/jnius/run_me.py " + path)
正常工作,但在虚拟环境中会报错
Traceback (most recent call last):
File "run_me.py", line 11, in <module>
from jnius import autoclass
ImportError: No module named jnius
this 是我正在关注的代码
请任何人在这里指出一些方向,例如如何在虚拟环境中使用 pyjnius 或我在哪里犯错误。
在 run_me.py 中这是 code
import os
os.environ['JAVA_HOME'] = '/usr/lib/jvm/java-7-openjdk-amd64/'
os.environ['CLASSPATH'] = "/path/to/tika-app.jar"
from jnius import autoclass
## Import the Java classes we are going to need
Tika = autoclass('org.apache.tika.Tika')
Metadata = autoclass('org.apache.tika.metadata.Metadata')
FileInputStream = autoclass('java.io.FileInputStream')
tika = Tika()
meta = Metadata()
text = tika.parseToString(FileInputStream(filename), meta)
谢谢
【问题讨论】:
run_me.py 文件里面有什么?为什么不能将 pyjnius 作为模块导入? 我已对 run_me.py 进行了上述更改 【参考方案1】:我也遇到了一些麻烦。
以下内容对我有用:
创建一个新的virtualenv,以防万一,并激活它。
# install pyjnius
pip install cython
cd [virtualenv]/src/
git clone https://github.com/kivy/pyjnius.git
cd pyjnius
python setup.py install
# get the tika-app (don't know if this is the latest version)
wget http://apache.proserve.nl/tika/tika-app-1.5.jar
mv tika-app-1.5.jar /usr/local/lib/
# put the following in .bashrc
export CLASSPATH=$CLASSPATH:/usr/local/lib/tika-app-1.5.jar
【讨论】:
谢谢你的工作,我正在使用 os.system(..) 你能告诉我一些从 /virtualenv/src/ 导入 jnius 作为 python 模块的方法 您要导入run_me
还是jnius
?
jnius
如果我可以导入它,我会在 django 的视图中编写 run_me.py 代码
嗯,我在管理命令中使用它。当CLASSPATH
上没有 tika 时会出现此问题。也许os.environ['CLASSPATH']
应该在请求链的早期发生。以上是关于pyjnius不在虚拟环境中工作的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 的虚拟环境中让 pyspark 在 Jupyter Notebook 中工作?
jquery 不在部署中工作,但在本地 nuxtjs 中工作?