利用anaconda保证64位和32位的python共存
背景
喵哥想在MFC中调用python脚本,在原来的代码中包含一个只支持x86的库文件(超级核心的文件),原本安装的python是x64的,强行运行程序会出现python头文件里的函数无法解析的错误。考虑到anaconda可以方便的管理python版本,所以采用anaconda来安装32位的python。
Anaconda的一些命令
1.查看当前工作平台:condainfo
(base)C:\Users\CatlinCao>condainfo activeenvironment:base activeenvlocation:F:\Anaconda3 shelllevel:1 userconfigfile:C:\Users\CatlinCao\.condarc populatedconfigfiles:C:\Users\CatlinCao\.condarc condaversion:4.5.11 conda-buildversion:3.15.1 pythonversion:3.7.0.final.0 baseenvironment:F:\Anaconda3(writable) channelURLs:https://repo.anaconda.com/pkgs/main/win-32 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/win-32 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/win-32 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/pro/win-32 https://repo.anaconda.com/pkgs/pro/noarch https://repo.anaconda.com/pkgs/msys2/win-32 https://repo.anaconda.com/pkgs/msys2/noarch packagecache:F:\Anaconda3\pkgs32 C:\Users\CatlinCao\AppData\Local\conda\conda\pkgs32 envsdirectories:F:\Anaconda3\envs C:\Users\CatlinCao\AppData\Local\conda\conda\envs C:\Users\CatlinCao\.conda\envs platform:win-32 user-agent:conda/4.5.11requests/2.19.1CPython/3.7.0Windows/10Windows/10.0.17134 administrator:False netrcfile:None offlinemode:False
可见此时是32位平台。
2.切换64位和32位:setCONDA_FORCE_32BIT=1是切换到32位;setCONDA_FORCE_32BIT=是切换到64位。
需要注意的是,这样切换环境对于已经安装的python没有任何影响,即原先是64位的python,现在还是64位,所以需要切换到32位后再安装python,并且安装需要在prompt下进行,在navigator里新建的python默认是64位的。
3.安装python:condacreate-nenv_namepython=3.6,如果需要安装一些包,只需要在name后加上对应的包名称。condacreate-nenv_namenumpymatplotlibpython=3.6。
4.切换环境:conda activateenv_name,condadeactivateenv_name。
5.移除环境:condaremove-nenv_name--all
6.安装包:activateenv_name,condainstallpandas。安装anaconda发行版的所有包:condainstallanaconda,但是这样会在所有环境都执行这样的操作,所以需要指定安装环境:condainstall-nenv_namepandas
以上的操作都是在AnacondaPrompt里,其实用Anaconda图形界面(Navigator)安装python会更加直观,但是需要注意的是,无论你是否在Prompt里设置了32位的环境,用Navigator安装的python都是64位的,大家可以试一下,有异议欢迎留言交流。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。