Win64环境下Conda无法安装指定版本mysqlclient 2.0.3求助
问题场景
为匹配Linux服务器环境,在Windows系统上以“所有用户”模式安装Anaconda3 2023.03-1,全程以管理员身份运行Anaconda Prompt执行命令:
conda update conda conda update --all conda create -n venv01 mysqlclient=2.0.3
执行后触发PackagesNotFoundError,提示找不到mysqlclient=2.0.3包;即使添加-c anaconda指定源,执行conda create -n venv01 -c anaconda mysqlclient=2.0.3仍报错。
先后测试Anaconda 2022.10、2023.07版本,问题一致;不指定版本时,Conda会自动安装1.13.14版本(当前能找到的最高Windows适配版本)。
报错信息如下:
Collecting package metadata (current_repodata.json): done Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source. Collecting package metadata (repodata.json): done Solving environment: failed PackagesNotFoundError: The following packages are not available from current channels: - mysqlclient=2.0.3 Current channels: - https://repo.anaconda.com/pkgs/main/win-64 - https://repo.anaconda.com/pkgs/main/noarch - https://repo.anaconda.com/pkgs/r/win-64 - https://repo.anaconda.com/pkgs/r/noarch - https://repo.anaconda.com/pkgs/msys2/win-64 - https://repo.anaconda.com/pkgs/msys2/noarch - https://conda.anaconda.org/conda-forge/win-64 - https://conda.anaconda.org/conda-forge/noarch To search for alternate channels that may provide the conda package you're looking for, navigate to https://anaconda.org and use the search bar at the top of the page.
原因分析
核心问题是mysqlclient=2.0.3未提供Windows平台(win-64)的预编译conda包。
你在Anaconda仓库看到的可获取记录,对应的是Linux或macOS平台的包,并非Windows版本。Conda在Windows环境下只会检索适配win-64/noarch的包,因此即便指定源,也无法找到对应版本的Windows适配包。
通过Anaconda仓库的文件列表可验证:mysqlclient=2.0.3仅发布了linux-64、osx-64、osx-arm64版本的包,没有win-64版本;而1.13.14是当前Conda渠道中支持Windows的最高版本,这也解释了不指定版本时会默认安装该版本。
解决方案
若需在Windows环境使用mysqlclient=2.0.3,可采用以下两种方案:
- 用pip安装:激活虚拟环境后执行
pip install mysqlclient==2.0.3(需提前安装Visual Studio Build Tools等编译依赖) - 替换驱动包:改用适配Windows的MySQL驱动,比如
mysql-connector-python,可直接通过conda安装:conda install -n venv01 mysql-connector-python
内容的提问来源于stack exchange,提问作者jerry

