我在使用Canopy中的python可见模块时遇到问题。具体来说,在Canopy中打开的文件中的python代码中,我收到一个错误"没有名为-----" 在stackoverflow上阅读了几个其他答案后,我确实使用了终端命令" export PATH = / Users / TheSlothQueen / Library / Enthought / Canopy_32bit / User / bin:$ {PATH}"。 (据我所知,使Canopy成为默认的python环境)。这有用,因为现在如果我在终端输入start python并且" import sys"然后" sys.prefix",Enthought Canopy确实显示为python路径。
遵循这些(https://support.enthought.com/hc/en-us/articles/204469690-Installing-packages-into-Canopy-User-Python-from-the-OS-command-line)指令,我现在应该能够使用enpkg命令而不是pip install。但是,这需要我登录天幕,我不认为我有会员资格。
我该怎么做?在我将默认的python路径更改为Canopy环境之前,我可以将openpyxl安装到Library / Python / 2.7 / site-packages中,它显然存在,但是" import openpyxl"我在Canopy的python文件中的命令仍然无法访问它。
我不太擅长使用命令行并且是Canopy的新手,但我在python方面经验丰富。任何帮助将不胜感激。
答案 0 :(得分:0)
如果您不想使用enpkg
或注册免费的Canopy帐户:
在您的Canopy .pth
site-packages
中设置一个/Users/TheSlothQueen/Library/Enthought/Canopy_32bit/User/lib/python2.7/site-packages
文件,其中包含常规python site-packages
的路径。见https://gis.stackexchange.com/questions/59012/how-to-access-esri-arcpy-modules-from-enthought-canopy/59144#59144
答案 1 :(得分:0)
1)作为一项规则,您不应该在Python发行版之间复制或链接,这可能导致无法解释的崩溃和由于不兼容的依赖项导致的其他错误。相反,每个Python发行版应该是自包含的。在没有替代方案的情况下很少见(例如@TheoretiCAL答案中提到的ArcGIS示例),但仅作为最后的手段。
因此,如果要将同一个软件包安装到多个Python发行版中(例如,在系统python和Canopy Python中都使用openpyxl),则应将其独立安装到每个发行版中。我稍后会对此进行描述,但首先值得一提的是一个不同的情况 - 如果你在Python发行版之外的目录中开发自己的代码(或使用同事的代码),那么你可以设置你的PYTHONPATH环境变量到该目录,允许您从Python发行版访问它,通常是安全的。
2)既然你说你在命令行上不太舒服,为什么不从Canopy的软件包管理器安装openpyxl?除了一些具有令人不安的依赖性的边缘情况之外,这相当于使用enpkg
。
3)要登录Canopy或enpkg,注册帐户是免费的:https://enthought.com/accounts/login/
4)如果您做想从命令行安装软件包,那么您引用的文章就是好的。请注意,将Canopy作为终端中默认Python的最简单方法是从Canopy Tools菜单中打开Canopy Terminal。有关其他方式,请参阅this article。