向conda环境添加适配Python2.7的networkx依赖报错如何解决
适配Python2.7环境networkx依赖的解决方案
你可以按以下优先级选择方案,无需修改原有脚本的import networkx语句:
方案1:直接替换环境内的networkx对应文件(最快)
- 激活你对应的Python2.7 conda环境:
conda activate 你的环境名 - 执行以下命令获取当前环境的第三方包安装路径:
python -c "import site; print(site.getsitepackages()[0])" - 进入输出的路径,找到
networkx文件夹,将你拿到的适配好的decorator.py直接替换该文件夹下的同名文件即可。如果是整套networkx源码都适配了Python2.7,直接删除现有networkx文件夹,把适配好的整套源码放到该路径下即可,无需通过conda安装。
方案2:指定自定义模块搜索路径(不改动现有conda安装的包)
如果不想修改conda环境原有文件,可以用这个方法:
- 把适配好的
decorator.py或者整套networkx源码放到一个固定的本地目录,比如/opt/py27_custom_libs/ - 在你运行的入口脚本最开头添加两行代码:
import sys sys.path.insert(0, "/opt/py27_custom_libs/")
Python导入模块时会优先搜索你指定的路径,原有脚本的import networkx语句无需修改就能加载适配版本。
方案3:官方适配版本安装(最稳妥)
Python2.7支持的最后一个networkx官方正式版本为1.11,conda源大多已经下架该版本,你可以直接用pip安装:
激活对应conda环境后执行:pip install networkx==1.11
无需自行适配单个文件,安装完成后直接就能兼容Python2.7环境。
内容的提问来源于stack exchange,提问作者Ga3258
相关产品推荐
相关产品推荐

