Python 3:安装自定义和第三方包的合适位置?
关于Python 3.x:
我想请教一下,在哪里放置我想在多个项目中使用的模块比较好(还有其他相关因素)。我知道有import语句和PYTHONPATH,以及让任何位置“可用”的各种方法,但我希望能遵循标准做法。
所以:
我应该把我的模块放在“Pythonxx\Lib\site-packages”这个包里吗?
site-packages目录有什么特别之处吗?还是说它和其他放模块的地方没有区别?我有点困惑,不知道它是否有特殊的“.pth”文件和/或
__init__.py
的行为。这些约定在多大程度上受到distutils的影响,而distutils似乎还没有完全适应Python 3……这是否意味着我在未来应该关注其他一些约定?
我该如何理解这个:http://docs.python.org/py3k/install/index.html,在这里“安装工作原理”似乎在表格中声称'site-packages'与Windows无关,尽管我在我的Windows Python 3.1安装中看到一个空的site-packages目录。
-- 谢谢!
4 个回答
巧合的是,今天正好是我问这个问题的周年纪念日。虽然回答的人都很想帮忙,但我最终还是深入研究了这个问题,写下了一些笔记,并把它们发布在这里:Python- 常用模块的组织方式。我还在python.org上提交了一些问题报告(用户名是一样的),并对他们的文档做了一些修改。希望这些能帮助到那些同样感到困惑的人。
你可能想要考虑设置一个 虚拟环境,这是在不同项目和平台上使用一组模块的标准方法。
是的,不过让你的 setup.py 来处理这个事情。
不。
你为什么觉得会有问题呢?
文档需要修正一下。默认的 Python 安装目录是 C:\PythonXY,而不是 C:\Python。默认的包安装目录是 C:\PythonXY\Lib\site-packages。