如何在Python中使用第三方“库”?
免责声明: 这是个非常基础的问题,但请记住我来自微软的背景,主要在 .NET 和 Visual Studio 中编程(这可能会帮助你用类比来帮助我)。
我开始学习编写一些 Python 代码,纯粹是为了好玩,所以我下载了 Eclipse,并安装了 PyDev。
当我需要解析一个日期时,我发现了一个看起来很有趣的替代方法,除了 time.strptime 之外。这个替代方法是 python-dateutil。
我下载了它,但在尝试使用时遇到了问题。
显然, 下载的文件包含源代码文件,而我完全不知道如何在我的 Eclipse “项目”中使用它。
所以我有一些非常基础的问题:
- 我需要把源文件直接和我的文件放在一起吗?也许放在一个子目录里?我该如何在我的代码中使用它(我该如何在我的 .py 文件中 导入 它们)?
- 我需要“构建”(制作)它们并引用它们吗?怎么做?在 Windows 中你是如何“编译”这样的东西的?
- 我是不是完全错过了什么重要的点?
谢谢你的耐心。
5 个回答
你下载的压缩包里面有一个Makefile文件,所以直接用这个就可以了:
make install
然后,在你想要使用新模块里的内容的文件中,就像使用其他Python模块一样导入它:
import dateutil
- 我需要把源文件直接放在我的文件里吗?或者放在一个子目录里?我该怎么在我的代码中使用它(怎么在我的 .py 文件里导入它们)?
你只需要导入这个 py
文件就可以了。例如,如果你的模块叫 x
,你只需要写 import x
。
- 我需要“构建”(制作)它们并引用它们吗?怎么做?在 Windows 上怎么“编译”这样的东西?
不需要。只要写 import x
,系统会自动生成一个 x.pyc
文件。这是模块 x
的字节编译版本。
- 我是不是漏掉了什么重要的点? 下载
python-dateutil
并解压到一个目录。
然后你需要执行一个命令(在 Windows 上可能需要适当的权限。详细信息可以在 这里找到)
python setup.py install
这个命令会自动安装(也就是复制)所有模块文件到 Python 解释器能找到的路径。你可以通过 import sys
然后 print sys.path
来查看这些路径。这些就是解释器查找模块的地方。
安装完成后,启动你的解释器,然后试试 import dateutil
。如果一切正常,这个模块应该能被导入。
当你需要分发你的应用程序时,所有必要的模块也需要一起打包。注意,你只需要包含 py
文件,而不是 pyc
文件。
为了更好地理解如何打包源文件,你需要了解 disutils
模块。这里
我下载了这个东西,但在使用的时候遇到了问题。显然,下载的文件里有源代码,我完全不知道怎么在我的“项目”中用它,特别是在eclipse里。
你应该在命令行中使用 pip,输入:
pip install python-dateutil
这个命令会自动为你下载并安装这个库。如果你还没有 pip
,可以参考上面的文档看看怎么安装它。
我需要把源文件直接放在我的文件里吗?也许放在一个子目录里?我该怎么在我的代码中使用它(怎么在我的 .py 文件里导入它)?
如果你像上面那样使用了pip,就不需要了。你现在只需要在你的脚本中 import dateutil
就可以使用它了:
import dateutil
我需要“构建”(制作)它们并引用它们吗?怎么做?在Windows上怎么“编译”这样的东西?
所有的事情都通过pip完成(是不是很神奇 :))
我是不是完全忽略了一些重要的点?
是的,Python很酷,简单又有趣,忘掉什么make、make install吧……在Python中,一切都很容易安装。
为了上天的份儿,请使用pip(这是来自 BDFL 的命令)。
希望这能帮到你:)