gpt4 book ai didi

python - 如何从不是包的自定义存储库添加模块? Python

转载 作者:行者123 更新时间:2023-11-28 16:39:50 24 4
gpt4 key购买 nike

我尝试将 sys.path.append()os.getcwd() 一起使用,但没有成功。

来源来自here我已经下载并解压了它们:

alvas@ubi:~/test$ wget https://github.com/alvations/DLTK/archive/master.zip
alvas@ubi:~/test$ tar xvzf master.zip

alvas@ubi:~/test$ cd DLTK-master/; ls
dltk

alvas@ubi:~/test/DLTK-master$ cd dltk/; ls
tokenize
alvas@ubi:~/test/DLTK-master/dltk$ cd tokenize/; ls
abbrev.lex jwordsplitter-3.4.jar rbtokenize.pl
banana-split-standalone-0.4.0.jar koehn_senttokenize.pl splicer.py
igerman98_all.xml koehn_wordtokenize.pl tokenizer.py
__init__.py nonbreaking_prefix.de

alvas@ubi:~/test/DLTK-master/dltk/tokenize$ cat __init__.py
from tokenizer import punct_tokenize, rb_tokenize
from tokenizer import koehn_tokenize, deupunkt_tokenize
from splicer import jwordsplitter, jwordsplitteralvas

这些是我想从 ~/text/ 目录访问的功能,例如koehn_tokenize 函数。但我似乎无法将模块/函数添加到我的 python 解释器中。

alvas@ubi:~/test$ wget https://github.com/alvations/DLTK/archive/master.zip
alvas@ubi:~/test$ tar xvzf master.zip
alvas@ubi:~/test$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, os
>>> os.getcwd()
'/home/alvas/test'
>>> sys.path.append(os.path.join(os.getcwd(),'DLKT-master/dltk'))
['','/usr/local/lib/python2.7/dist-packages/...', ...,'/home/alvas/test/DLKT-master/dltk']
>>>
>>> import dltk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dltk
>>>
>>> from dltk.tokenize import koehn_tokenize
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dltk.tokenize

如何从 ~/test/ 目录中的 python 解释器访问 dltk.tokenize 模块?

如果 cd~/test/DLTK-master/dltk/tokenize 中,这些函数就可以工作:

alvas@ubi:~/test$ cd DLTK-master/dltk/tokenize/
alvas@ubi:~/test/DLTK-master/dltk/tokenize$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from __init__ import koehn_tokenize
>>>

但我不要想在使用 python 解释器之前cd 进入~/test/DLTK-master/dltk/tokenize。我需要以某种方式在 python 中附加模块/函数。

最佳答案

如果 master.zip 包含 dltk/__init__.py, dltk/tokenize/__init__.py 那么你可以尝试添加它直接到sys.path:

import sys; sys.path.append('master.zip')
from dltk.tokenize import koehn_tokenize

From the python interpreter at ~/test/ directory, how can I access the the dltk.tokenize module?

只需将 ~/test/DLTK-master 目录添加到 sys.path 即可:

import sys; sys.path.append('DLTK-master')
from dltk.tokenize import koehn_tokenize

关于python - 如何从不是包的自定义存储库添加模块? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20922380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com