无PyPI访问权限的Windows虚拟机中Django安装失败求助
问题分析与解决方案
核心问题
- Windows批处理for命令语法错误:你写的
for %x in (dir *.whl)是错误的,dir是Windows系统命令,不是文件名通配符,这导致命令被解析为pip install dir,既出现找不到dir包的错误,又没有正确遍历所有.whl文件,Django和autopep8的安装包根本没被执行安装。 - 依赖查找配置缺失:autopep8依赖toml,Django依赖tzdata,当你单独安装这两个包时,
--no-index会让pip默认不查找本地目录的依赖,即便依赖包存在,也会提示找不到。
修复步骤
方案1:批量安装所有whl(推荐)
在虚拟机的dependencies目录下,执行以下命令:
pip install *.whl --no-index --find-links=.
*.whl匹配当前目录下所有wheel包--find-links=.告诉pip从当前目录查找依赖包,自动处理依赖顺序,无需手动调整安装先后。
方案2:修正for循环命令
如果一定要用循环执行,正确的Windows批处理命令是:
for %x in (*.whl) do pip install "%x" --no-index --find-links=.
- 直接用
(*.whl)匹配所有wheel文件,避免引入无效的dir命令 - 给
%x加引号,避免文件名含空格时出现解析错误 --find-links=.确保pip能在本地目录找到依赖包
验证结果
执行完安装命令后,运行pip freeze检查,Django和autopep8应该会出现在输出列表中。
内容的提问来源于stack exchange,提问作者DPK
相关产品推荐
相关产品推荐

