anaconda 是否保留 python 包的副本?
Does anaconda keep a copy of python packages?
我想在 Anaconda 环境中卸载 vtk 然后重新安装它。我已经卸载了软件包并删除了环境。为了检查发生了什么,我在 ~/anaconda2/envs/testenv/lib/python2.7/site-packages/vtk/__init__.py
中添加了评论 "If you are reading this that is bad"。这是该代码的副本:
from __future__ import absolute_import
# --------------------------------------
#If you are reading this that is bad
from .vtkCommonKit import *
from .vtkFiltersKit import *
from .vtkImagingKit import *
from .vtkRenderingKit import *
from .vtkIOKit import *
from .vtkOpenGLKit import *
from .vtkParallelKit import *
from .vtkWrappingKit import *
from .vtkInteractionKit import *
from .vtkViewsKit import *
from .vtkInfovisCore import *
from .vtkChartsCore import *
from .vtkDomainsChemistry import *
from .vtkFiltersFlowPaths import *
from .vtkFiltersHybrid import *
from .vtkImagingHybrid import *
from .vtkInfovisLayout import *
from .vtkGeovisCore import *
from .vtkRenderingGL2PSOpenGL2 import *
from .vtkIOExport import *
from .vtkIOExportOpenGL2 import *
from .vtkIOImport import *
from .vtkIOInfovis import *
from .vtkIOMINC import *
from .vtkIOTecplotTable import *
from .vtkViewsInfovis import *
# --------------------------------------
# useful macro for getting type names
__vtkTypeNameDict = {VTK_VOID:"void",
VTK_DOUBLE:"double",
VTK_FLOAT:"float",
VTK_LONG:"long",
VTK_UNSIGNED_LONG:"unsigned long",
VTK_INT:"int",
VTK_UNSIGNED_INT:"unsigned int",
VTK_SHORT:"short",
VTK_UNSIGNED_SHORT:"unsigned short",
VTK_CHAR:"char",
VTK_UNSIGNED_CHAR:"unsigned char",
VTK_SIGNED_CHAR:"signed char",
VTK_LONG_LONG:"long long",
VTK_UNSIGNED_LONG_LONG:"unsigned long long",
VTK_ID_TYPE:"vtkIdType",
VTK_BIT:"bit"}
def vtkImageScalarTypeNameMacro(type):
return __vtkTypeNameDict[type]
# import convenience decorators
from .util.misc import calldata_type
# import the vtkVariant helpers
from .util.vtkVariant import *
我有 运行:
$conda uninstall vtk
$conda env remove --name testenv
但如果我 运行:
$conda create -n testenv2 python=2.7
$source activate testenv2
$conda install vtk
然后导航至 ~/anaconda2/envs/testenv2/lib/python2.7/site-packages/vtk/__init__.py
我发表的评论仍然存在。发生了什么事以及如何完全清除此文件的所有备份?
问题是它是为 vtk 版本制作的,该版本不能与我完成所有工作的 python 2.7 一起使用。我 运行ning ubuntu 16.04 在 Windows.
上的虚拟机中
我最终解决了这个问题,但我仍然不完全确定发生了什么。我如何修复它是终端中的以下 运行:
$conda env remove --name testenv2
$grep -r vtk ~/anaconda2
这返回了一个庞大的列表,但我注意到所有 python 和 java 包装器都在 ~/anadonda2/pkgs/vtk-6.3.0-py27_1 文件夹中。所以我 运行:
$cd ~/anadonda2/pkgs/
$rm -r vtk-6.3.0-py27_1
$conda create -n newenv python=2.7
$source activate newenv
$conda install vtk
现在我的所有代码 运行 再次出现在这个环境中,似乎已经解决了。
我将 vtk 6.3.0 的 tarball 留在 pkgs/ 文件夹中,猜测它必须从该文件夹中提取 vtk 的新副本以重建模块。我还推测当我升级到 vtk 的 8.1.0 版本时,__init__
.py 最终被覆盖了,但我不确定为什么 pkgs/ 文件夹中没有 8.1.0 的包.这是因为它与 python 2.7 不兼容吗?希望这个临时解决方案至少在某些时候对某人有所帮助。
我想在 Anaconda 环境中卸载 vtk 然后重新安装它。我已经卸载了软件包并删除了环境。为了检查发生了什么,我在 ~/anaconda2/envs/testenv/lib/python2.7/site-packages/vtk/__init__.py
中添加了评论 "If you are reading this that is bad"。这是该代码的副本:
from __future__ import absolute_import
# --------------------------------------
#If you are reading this that is bad
from .vtkCommonKit import *
from .vtkFiltersKit import *
from .vtkImagingKit import *
from .vtkRenderingKit import *
from .vtkIOKit import *
from .vtkOpenGLKit import *
from .vtkParallelKit import *
from .vtkWrappingKit import *
from .vtkInteractionKit import *
from .vtkViewsKit import *
from .vtkInfovisCore import *
from .vtkChartsCore import *
from .vtkDomainsChemistry import *
from .vtkFiltersFlowPaths import *
from .vtkFiltersHybrid import *
from .vtkImagingHybrid import *
from .vtkInfovisLayout import *
from .vtkGeovisCore import *
from .vtkRenderingGL2PSOpenGL2 import *
from .vtkIOExport import *
from .vtkIOExportOpenGL2 import *
from .vtkIOImport import *
from .vtkIOInfovis import *
from .vtkIOMINC import *
from .vtkIOTecplotTable import *
from .vtkViewsInfovis import *
# --------------------------------------
# useful macro for getting type names
__vtkTypeNameDict = {VTK_VOID:"void",
VTK_DOUBLE:"double",
VTK_FLOAT:"float",
VTK_LONG:"long",
VTK_UNSIGNED_LONG:"unsigned long",
VTK_INT:"int",
VTK_UNSIGNED_INT:"unsigned int",
VTK_SHORT:"short",
VTK_UNSIGNED_SHORT:"unsigned short",
VTK_CHAR:"char",
VTK_UNSIGNED_CHAR:"unsigned char",
VTK_SIGNED_CHAR:"signed char",
VTK_LONG_LONG:"long long",
VTK_UNSIGNED_LONG_LONG:"unsigned long long",
VTK_ID_TYPE:"vtkIdType",
VTK_BIT:"bit"}
def vtkImageScalarTypeNameMacro(type):
return __vtkTypeNameDict[type]
# import convenience decorators
from .util.misc import calldata_type
# import the vtkVariant helpers
from .util.vtkVariant import *
我有 运行:
$conda uninstall vtk
$conda env remove --name testenv
但如果我 运行:
$conda create -n testenv2 python=2.7
$source activate testenv2
$conda install vtk
然后导航至 ~/anaconda2/envs/testenv2/lib/python2.7/site-packages/vtk/__init__.py
我发表的评论仍然存在。发生了什么事以及如何完全清除此文件的所有备份?
问题是它是为 vtk 版本制作的,该版本不能与我完成所有工作的 python 2.7 一起使用。我 运行ning ubuntu 16.04 在 Windows.
上的虚拟机中我最终解决了这个问题,但我仍然不完全确定发生了什么。我如何修复它是终端中的以下 运行:
$conda env remove --name testenv2
$grep -r vtk ~/anaconda2
这返回了一个庞大的列表,但我注意到所有 python 和 java 包装器都在 ~/anadonda2/pkgs/vtk-6.3.0-py27_1 文件夹中。所以我 运行:
$cd ~/anadonda2/pkgs/
$rm -r vtk-6.3.0-py27_1
$conda create -n newenv python=2.7
$source activate newenv
$conda install vtk
现在我的所有代码 运行 再次出现在这个环境中,似乎已经解决了。
我将 vtk 6.3.0 的 tarball 留在 pkgs/ 文件夹中,猜测它必须从该文件夹中提取 vtk 的新副本以重建模块。我还推测当我升级到 vtk 的 8.1.0 版本时,__init__
.py 最终被覆盖了,但我不确定为什么 pkgs/ 文件夹中没有 8.1.0 的包.这是因为它与 python 2.7 不兼容吗?希望这个临时解决方案至少在某些时候对某人有所帮助。