我有一个使用gentle转录某些音频的python脚本。
此刻,我必须将文件复制到温和的仓库中,然后我可以import gentle
并在以后的代码中随意使用gentle
。
但是,我希望不必将文件复制到温和目录中。我尝试将导入更改为import gentle.gentle
,但是从父目录运行脚本时,无论哪种方式,我都会收到以下错误:
Traceback (most recent call last):
File "process_text.py", line 6, in <module>
import gentle.gentle # or just import gentle
File "/usr/local/lib/python2.7/dist-packages/gentle/__init__.py", line 2, in <module>
from resources import Resources
File "/usr/local/lib/python2.7/dist-packages/gentle/resources.py", line 4, in <module>
from util.paths import get_resource, ENV_VAR
ImportError: No module named util.paths
是否有一种简单的方法来使用该模块,而不必将我的脚本复制到其目录中?谢谢!
最佳答案
有许多解决此问题的方法,请参阅文档上的教程页面以获取更多信息https://docs.python.org/3/tutorial/modules.html。
基本上,如果gentle
是pip可安装的,则可能要尝试使用以下方法进行安装:
pip install --user gentle
或者您可能想使用
conda
或virtualenv
创建环境。或者,您可以只设置
PYTHONPATH
环境变量以包含所需的路径,例如PYTHONPATH="/path/to/lib:$PYTHONPATH" python /path/to/script.py
关于python - Python导入仅在从包目录内部运行时有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46305203/