我正在尝试用Python创建一个项目,并使用Pydev它。为了更好的结构我把它们都分成了小的包,以便更好地处理每个代码所在的位置。。。。你知道吗
我遇到了问题,实际包装成一个单一的文件安装它们所有。。。。。你知道吗
在eclipse中,我制作了一些包,并用如下语句将它们链接起来
import Package1.File1
我注意到在每个包中都有一个空白的__init__.py
但是,由于当我尝试以空闲状态运行这些文件时,这些文件不会直接进入系统的路径,因此我得到一个错误,即Package1不存在。。。。。你知道吗
所以我想问两个问题。。。。你知道吗
1)如果我现在只是制作一个包含所有文件的包,我是否需要制作eclipse作为运行这些文件的必要条件??你知道吗
2)我注意到,如果我在python安装的site packages文件夹中添加所有文件夹,错误就会消失。。。。。有什么方法我可以确保所有的文件进入该文件夹在安装过程中,这是正确的方法吗??你知道吗
非常感谢你的建议和建议
在开发中,您可以设置
PYTHONPATH
环境变量来定义模块的位置。对于这种情况,我认为您需要使用distutils来设置安装过程。该过程的一部分将把文件安装到每台机器的默认位置。还应该有一种方法在bin目录(/usr/bin或/usr/local/bin)中安装脚本,具体取决于安装脚本的用户。Django在安装时会这样做。
您将保持模块结构不变,distutils将处理安装。当然,您需要阅读distutils文档并查看示例。然后回来问一个更具体的问题,如果你遇到问题。。。
Package1是否也有一个空的
__init__.py
?如果是这样,那么IDLE的问题是Package1不在PYTHONPATH中。确保在开发过程中您当前的目录是Package1上面的目录。你知道吗当在生产环境中运行软件时,这显然不起作用,那么正如您所注意到的,它应该安装在站点包中。以正确的方式将包安装到站点包中的方法称为“distutils”。你知道吗
(好吧,严格来说,站点包只是安装它的一种方法,但是其他正确的方法也依赖于distutils)。你知道吗
别那么做。。。保持模块结构。你为什么要把它们都放回一个文件里?你知道吗
是的,您需要将模块放在dist包中,或者将模块的位置添加到PYTHONPATH环境变量中。看看distutils如何分发您的程序。你知道吗
Eclipse与包完全无关。你知道吗
相关问题 更多 >
编程相关推荐