Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
Pdm
提交
44cc6d45
P
Pdm
项目概览
后端镜像
/
Pdm
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pdm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
44cc6d45
编写于
11月 26, 2020
作者:
F
Frost Ming
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix pep582 loading
上级
6adf5004
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
3 deletion
+27
-3
pdm/installers/_pep582.py
pdm/installers/_pep582.py
+27
-3
未找到文件。
pdm/installers/_pep582.py
浏览文件 @
44cc6d45
import
os
import
site
import
sys
import
warnings
from
distutils.sysconfig
import
get_python_lib
# Global state to avoid recursive execution
...
...
@@ -9,6 +10,8 @@ _initialized = False
def
get_pypackages_path
(
maxdepth
=
5
):
def
find_pypackage
(
path
):
if
not
os
.
path
.
exists
(
path
):
return
None
packages_name
=
"__pypackages__/{}/lib"
.
format
(
"."
.
join
(
map
(
str
,
sys
.
version_info
[:
2
]))
)
...
...
@@ -21,8 +24,16 @@ def get_pypackages_path(maxdepth=5):
path
=
os
.
path
.
dirname
(
path
)
return
None
script_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
sys
.
argv
[
0
]))
return
find_pypackage
(
script_dir
)
or
find_pypackage
(
os
.
getcwd
())
find_paths
=
[
os
.
getcwd
()]
if
getattr
(
sys
,
"argv"
,
None
):
script_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
sys
.
argv
[
0
]))
find_paths
.
insert
(
0
,
script_dir
)
for
path
in
find_paths
:
result
=
find_pypackage
(
path
)
if
result
:
return
result
def
init
():
...
...
@@ -34,10 +45,23 @@ def init():
# Do nothing if pep 582 is not enabled explicitly
return
_initialized
=
True
# First, drop system-sites related paths.
if
sys
.
version_info
[
0
]
==
2
and
getattr
(
sys
,
"argv"
,
None
)
is
None
:
warnings
.
warn
(
"PEP 582 can't be loaded based on the script path. "
"As Python 2.7 reached the end of life on 2020/01/01, "
"please upgrade to Python 3."
,
)
else
:
script_path
=
sys
.
argv
[
0
]
if
os
.
path
.
exists
(
script_path
)
and
os
.
path
.
normcase
(
os
.
path
.
abspath
(
script_path
)
).
startswith
(
os
.
path
.
normcase
(
sys
.
prefix
)):
return
libpath
=
get_pypackages_path
()
if
not
libpath
:
return
# First, drop system-sites related paths.
original_sys_path
=
sys
.
path
[:]
known_paths
=
set
()
system_sites
=
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录