【问题标题】:In python, how to add command to bash_profile?在 python 中,如何将命令添加到 bash_profile?
【发布时间】:2019-07-19 02:11:23
【问题描述】:

我的环境是 Google Colab,它是用 Python 编写的。我正在尝试按照本网站上的说明进行操作。

https://github.com/abisee/cnn-dailymail

它提到了

然后将以下命令添加到您的 bash_profile:

export CLASSPATH=/path/to/stanford-corenlp-full-2017-06-09/stanford-corenlp-3.8.0.jar

我最好的猜测是使用

!export CLASSPATH=/stanford-corenlp-full-2017-06-09/stanford-corenlp-3.8.0.jar

执行没有任何错误

但是接下来的指令说

你可以通过运行检查它是否工作

echo "Please tokenize this text." | java edu.stanford.nlp.process.PTBTokenizer

所以我尝试了

!echo "Please tokenize this text." | java edu.stanford.nlp.process.PTBTokenizer

然后我得到了这个错误

Error: Could not find or load main class edu.stanford.nlp.process.PTBTokenizer
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.process.PTBTokenizer

编辑:

我找到了在 colab 中安装 Java 的说明

# Install Java
!apt-get install -y openjdk-8-jdk-headless -qq > /dev/null
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
!java -version

但是

!echo "Please tokenize this text." | java edu.stanford.nlp.process.PTBTokenizer

仍然报同样的错误

【问题讨论】:

    标签: python bash google-colaboratory


    【解决方案1】:

    我建议不要更改你的.bash_profile,因为你会积累设置和垃圾。

    相反,java 允许您使用 -cp 选项指定 CLASSPATH,我们可以将其添加到 Python 脚本中。

    (您也可以按照他们的说明使用java -cp /path/to/blahblah.jar etc 进行测试。)

    将此行in make_datafile.py 更改为:

    command = ['java', '-cp', '/path/to/blahblah.jar', 'edu.stanford.nlp.process.PTBTokenizer', 
               '-ioFileList', '-preserveLines', 'mapping.txt']
    

    如果您仍然遇到问题,请确保您有一个有效的 jar!

    列出内容:

    jar -tvf /path/to/blahblah.jar
    

    您应该会看到 edu/stanford/nlp/process/PTBTokenizer.class 列出,否则再多弄乱 CLASSPATH 也无法解决它。

    【讨论】:

    • 绝妙的解决方案!我还可以通过运行!echo "Please tokenize this text." | java -cp stanford-corenlp-full-2018-10-05/stanford-corenlp-3.9.2.jar edu.stanford.nlp.process.PTBTokenizer 来确认它是否正常工作
    猜你喜欢
    • 2016-08-26
    • 2021-01-12
    • 2020-12-04
    • 1970-01-01
    • 2011-06-04
    • 2012-03-04
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    相关资源
    最近更新 更多