如何从私有GitHub仓库通过pip安装.whl格式的Python库?
从私有GitHub仓库安装.whl格式Python库的正确方法
哦,我完全懂你卡在哪了——你用的GitHub blob 链接是网页展示地址,不是直接可下载的文件链接,pip根本没法把它当成安装源识别!别慌,给你几个切实可行的方案:
方案1:使用Raw文件直接安装
GitHub的raw链接才是指向文件本身的有效地址,把你原来链接里的blob替换成raw就行,再带上你的个人访问令牌(PAT):
pip install https://{token}@raw.githubusercontent.com/{org_name}/{repo_name}/master/{name.whl}
举个实际例子:如果你的令牌是abc123,组织名是my-org,仓库名是my-package,whl文件在主分支根目录叫mypackage-1.0.0-py3-none-any.whl,命令就是:
pip install https://abc123@raw.githubusercontent.com/my-org/my-package/master/mypackage-1.0.0-py3-none-any.whl
记得确认你的PAT有repo权限,这样才能访问私有仓库里的文件。
方案2:通过Git仓库指定子目录安装
如果你的.whl文件在仓库的某个子目录里,也可以用git+https的方式,直接指定文件所在的目录路径:
pip install git+https://{token}@github.com/{org_name}/{repo_name}.git#subdirectory=path/to/whl/directory
这个方法的前提是目标目录里只有你要安装的对应whl文件,或者pip能自动识别出正确的包文件。
方案3:先下载再本地安装(适合需验证文件的场景)
如果你想先确认文件内容,或者网络环境有限制,可以先用curl下载whl文件到本地,再执行安装:
# 用curl下载文件到本地 curl -L -o {name.whl} https://{token}@raw.githubusercontent.com/{org_name}/{repo_name}/master/{name.whl} # 本地安装whl文件 pip install {name.whl}
为什么你原来的命令会报错?
因为blob链接指向的是GitHub的网页界面,不是实际的文件资源,pip尝试解析这个链接时找不到有效的文件路径,所以抛出了TypeError: stat: path should be string...的错误。
内容的提问来源于stack exchange,提问作者Jacques Joubert
相关产品推荐
相关产品推荐

