清钟沁桐 2024-11-02 12:16 采纳率: 0%
浏览 11

[python] 为什么相同的脚本在不同目录下执行有不同的现象

问题现象:
本地有个脚本做了复制,分别在相应的目录下执行 (tts_py310) [ma-user test]$**python MeloTTSOM.py **报不同的提示信息

1、A 路径下执行失败

Traceback (most recent call last):
  File "/home/ma-user/work/x30058104/model/MeloTTS-main/test/MeloTTSOM.py", line 21, in <module>
    from melo import utils
ImportError: cannot import name 'utils' from 'melo' (/home/ma-user/work/zhongyunde/envs/tts_py310/lib/python3.10/site-packages/melo/__init__.py)

2、 B路径 下执行缺失 cached_path,然后使用pip install cached_path安装后出错现象

Traceback (most recent call last):
  File "/home/ma-user/work/zhongyunde/envs/tts_py310/lib/python3.10/site-packages/urllib3/connection.py", line 199, in _new_conn
    sock = connection.create_connection(
  File "/home/ma-user/work/zhongyunde/envs/tts_py310/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/home/ma-user/work/zhongyunde/envs/tts_py310/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
TimeoutError: timed out

The above exception was the direct cause of the following exception:

...
  File "/home/ma-user/work/zhongyunde/envs/tts_py310/lib/python3.10/site-packages/urllib3/connection.py", line 208, in _new_conn
    raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0xfffcdd7e2290>, 'Connection to huggingface.co timed out
  • 写回答

2条回答 默认 最新

  • 香格里辣 2024-11-02 12:17
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    当你在不同的目录下执行相同的Python脚本时,可能会遇到不同的现象,这可能是由于以下几个原因造成的:

    1. 环境变量差异:不同的目录可能导致你的环境变量(如PATH)有所不同。特别是如果你的脚本依赖于某些特定的库或工具,这些库或工具的位置可能因目录而异,从而影响脚本的执行。
    2. 当前目录的工作路径:Python脚本在执行时,有时会根据当前的工作目录来读取或写入文件。如果你在不同的目录下执行脚本,它可能会尝试访问或修改不同位置的文件。
    3. 脚本内部的相对路径:如果脚本内部使用了相对路径来引用文件或资源,那么在不同的目录下执行时,这些相对路径会指向不同的位置。
    4. 依赖库的版本或位置:如果你的脚本依赖于某些Python库,而这些库在不同目录下的版本或位置不同,可能会导致脚本的行为有所差异。特别是当你使用虚拟环境(如你提到的(tts_py310))时,不同环境下的库版本和配置可能会导致差异。
    5. 配置文件或参数差异:有些脚本需要配置文件或命令行参数来正常工作。如果这些文件或参数在不同目录下有所不同,或者脚本从当前目录读取它们,那么行为也会有所不同。
    6. 权限问题:某些目录可能需要特定的权限才能访问或修改其中的文件。权限问题可能导致脚本在执行时遇到错误或警告。

    为了解决这个问题,你可以尝试以下方法:

    • 确保你的脚本中使用绝对路径而不是相对路径来引用文件。
    • 检查并确保所有的依赖库和工具在所有的执行环境中都是一致的。
    • 确保配置文件和参数在所有执行环境中都是相同的。
    • 使用-v--verbose等选项(如果可用)来运行脚本,以获取更详细的输出和错误信息,从而更好地了解问题所在。

    最后,具体的提示信息会帮助你更准确地定位问题。如果你能提供具体的错误消息或提示信息,我会更容易帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 11月2日
  • 创建了问题 11月2日