在python中,如何向bash_profile添加命令?

时间:2019-07-18 17:45:39

标签: python bash google-colaboratory

我的环境是使用Python的Google Colab。我正在尝试按照此网站上的说明进行操作。

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

仍然给出相同的错误

1 个答案:

答案 0 :(得分:3)

我建议不要更改您的.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弄得一团糟。