如http://bugs.python.org/issue22139中所述,python27.dll安装在Windows系统(在我的情况下是C:\ Windows \ System32)文件夹中。
但是我想知道为什么? 为什么不安装在python.exe旁边,例如在C:\ Python27 \?
原因我问:我已经在python中做了一个mercurial钩子,我们的开发人员需要用它来检查提交消息是否有效。 它会检查一个有效的JIRA问题编号。 为了防止我们的所有开发人员自己安装python并手动安装所需的模块(大量的工作和errorprone),我压缩了python安装,并要求开发人员在本地解压缩它。 但是他们不能运行它,因为python27.dll丢失了,或者更糟糕的是,他们已经安装了另一个小版本的python,并且由于使用了错误的python27.dll,钩子将会失败。 混乱。 如果我只是将python27.dll(正确的版本)添加到zip文件,似乎一切工作。 那么,为什么没有安装在这个位置呢? 将它安装在C:\ Windows \ System32中的优点是什么?
希望有人能向我解释这一点! 在此先感谢,Tallandtree。
我使用来自http://continuum.io的Anaconda Python发行版。 他们把python27.dll放到它的python.exe旁边的c:\ anaconda中。 这个发行版也很好,因为你可以拥有多个python环境,并且可以轻松地在它们之间切换( http://conda.pydata.org/docs/using/envs.html )。 您也可以获取您的某个环境的软件包列表并将其分发给其他人。
由于这个问题,我推荐使用python.org和Enthought中的Python分发。
.dll
是相当windows特定的文件。 我想你会为LINUX / UNIX特定的Python的东西共享对象(.so)文件? 你说你的开发者不能运行它,因为他们没有正确的DLL(即与他们的Python安装相关的DLL)。
另外,将它安装到System32的优点在于它在默认的PATH中。 此外,如果有其他应用程序在内部使用Python,并且需要访问.dll
文件,并且不引用您的Python目录,他们可能会寻找“实际”存在的位置(我想说保证存在,但……没关系)。 该位置将是`C:/ windows / Systems32'。
我发现它工作得很好,把python27.dll放在Python目录下(c:\ Python27或其他地方)。 只要它在PATH中,它似乎工作。 我这样做是为了“可重新定位”安装Python。 我可以将安装目录复制到没有安装Python的Windows计算机上,将PATH设置为包含该目录,然后运行Python,包括我在原始计算机上使用pip install
所有库。