python 使用pyinstaller打包时,出现“ValueError: Can't mix absolute and relative paths”错误

出错地点

pycharm terminal执行如下代码时,出现错误:

E:\python>pyinstaller -F file.py

Traceback (most recent call last):
"""省略一万字"""
ValueError: Can't mix absolute and relative paths

错误原因

drivesplits = [splitdrive(p.replace(altsep, sep).lower()) for p in paths]
split_paths = [p.split(sep) for d, p in drivesplits]

try:
    isabs,= set(p[:1] == sep for d, p in drivesplits)
except ValueError:
    raise ValueError("Can't mix absolute and relative paths") from None

在生成exe文件的过程中使用到了ntpath.py 中的 os.path.commonpath()函数,在比较我们选择的目标文件file.py 和 py-database\venv\lib\site-packages路径时,识别到的盘符不一样(一个没盘符,一个有盘符,被判断为一个是相对路径一个是绝对路径)。

解决方法

目标文件改成绝对路径
原来:

E:\python>pyinstaller -F file.py

修改为:

E:\python>pyinstaller -F E:\python\file.py

(找了半天愣是没有一个有和我同样的问题的,看了我快一晚上,佛了。)

你可能感兴趣的:(python 使用pyinstaller打包时,出现“ValueError: Can't mix absolute and relative paths”错误)