打包要在my proj中安装的文件时出现问题

2024-05-28 03:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用Python创建一个项目,并使用Pydev它。为了更好的结构我把它们都分成了小的包,以便更好地处理每个代码所在的位置。。。。你知道吗

我遇到了问题,实际包装成一个单一的文件安装它们所有。。。。。你知道吗

在eclipse中,我制作了一些包,并用如下语句将它们链接起来

import Package1.File1

我注意到在每个包中都有一个空白的__init__.py

但是,由于当我尝试以空闲状态运行这些文件时,这些文件不会直接进入系统的路径,因此我得到一个错误,即Package1不存在。。。。。你知道吗

所以我想问两个问题。。。。你知道吗

1)如果我现在只是制作一个包含所有文件的包,我是否需要制作eclipse作为运行这些文件的必要条件??你知道吗

2)我注意到,如果我在python安装的site packages文件夹中添加所有文件夹,错误就会消失。。。。。有什么方法我可以确保所有的文件进入该文件夹在安装过程中,这是正确的方法吗??你知道吗

非常感谢你的建议和建议


Tags: 文件项目方法代码import文件夹链接错误
3条回答
  1. 在开发中,您可以设置PYTHONPATH环境变量来定义模块的位置。

  2. 对于这种情况,我认为您需要使用distutils来设置安装过程。该过程的一部分将把文件安装到每台机器的默认位置。还应该有一种方法在bin目录(/usr/bin或/usr/local/bin)中安装脚本,具体取决于安装脚本的用户。Django在安装时会这样做。

  3. 您将保持模块结构不变,distutils将处理安装。当然,您需要阅读distutils文档并查看示例。然后回来问一个更具体的问题,如果你遇到问题。。。

Package1是否也有一个空的__init__.py?如果是这样,那么IDLE的问题是Package1不在PYTHONPATH中。确保在开发过程中您当前的目录是Package1上面的目录。你知道吗

当在生产环境中运行软件时,这显然不起作用,那么正如您所注意到的,它应该安装在站点包中。以正确的方式将包安装到站点包中的方法称为“distutils”。你知道吗

(好吧,严格来说,站点包只是安装它的一种方法,但是其他正确的方法也依赖于distutils)。你知道吗

I have run into problems with actually packaging all of them into a single file for installation.

别那么做。。。保持模块结构。你为什么要把它们都放回一个文件里?你知道吗

是的,您需要将模块放在dist包中,或者将模块的位置添加到PYTHONPATH环境变量中。看看distutils如何分发您的程序。你知道吗

Eclipse与包完全无关。你知道吗

相关问题 更多 >