我有一个使用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


或者您可能想使用condavirtualenv创建环境。
或者,您可以只设置PYTHONPATH环境变量以包含所需的路径,例如

PYTHONPATH="/path/to/lib:$PYTHONPATH" python /path/to/script.py

关于python - Python导入仅在从包目录内部运行时有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46305203/

10-10 18:56