我在python中的项目在许多文件中有许多脚本。一般结构是 :在python中创建多平台安装程序
Project/
|-- bin/
|-- project
|--calculations
|--some scripts
|--mainApp
|--some scripts
|--interpolations
|--some scripts
|--more files
|--other scripts
|
|-- tests
|-- setup.py
|-- README
我有很多进口这样
import bin.project.mainApp.MainAppFrame
我的setup.py文件
from setuptools import setup, find_packages
setup(
name = 'Application to orifices',
version = '1.0',
author = "Michał Walkowiak",
author_email = "[email protected]",
description = "Application in python 3.4 with noSQL BerkleyDB",
packages = find_packages(),
entry_points={
'console_scripts': [
'PracaInzynierska = bin.project.mainApp.MainApp:__init__'
]
},
scripts = [
'bin/project/mainApp/__init__.py',
'bin/project/mainApp/MainApp.py',
'bin/project/mainApp/MainAppFrame.py',
'bin/project/informations/__init__.py',
'bin/project/informations/DisplayInformations.py',
'bin/project/informations/InformationsFrame.py',
'bin/project/calculations/Calculate.py',
'bin/project/calculations/UnitConversion.py',
'bin/project/databaseHandler/__init__.py',
'bin/project/databaseHandler/databaseHandler.py',
'bin/project/databaseMonitoring/__init__.py',
'bin/project/databaseMonitoring/DatabaseFrame.py',
'bin/project/databaseMonitoring/DisplayDatabase.py',
'bin/project/initializeGUI/__init__.py',
'bin/project/initializeGUI/CalculationsFrame.py',
'bin/project/initializeGUI/initGui.py',
'bin/project/interpolation/__init__.py',
'bin/project/interpolation/Interpolate.py',
'bin/project/orificeMethods/__init__.py',
'bin/project/orificeMethods/methodsToCountOrifice.py',
'bin/project/steamMethods/__init__.py',
'bin/project/steamMethods/methodToCountParamsSteam.py',
'bin/project/waterMethods/__init__.py',
'bin/project/waterMethods/methodsToCountParamsWater.py'
]
)
我使用setup.py与
python3 setup.py bdist --formats=gztar
它生成dist文件夹与tar.gz文件,但是当我解压它时,每个脚本都在/ bin文件夹中。当我尝试通过
python3 MainApp.py
运行MainApp.py我收到一个错误:
Traceback (most recent call last):
File "MainApp.py", line 7, in <module>
import bin.project.mainApp.MainAppFrame
ImportError: No module named 'bin'
当我改变
import bin.project.mainApp.MainAppFrame
到
import MainAppFrame
它的工作原理,但它不在Pycharm那里有通往每个地方的路径文件。 是否有任何选项可以生成istaller,解包后的路径与原始项目的路径相同,还是始终将所有文件添加到一个文件夹?
嗯,不好意思,但对我来说有点过于宽泛。我在linux上工作,正如你可以看到的问题,我已经试图做你喜欢说的话,问题是保留脚本路径:'python3 setup.py bdist --formats = gztar'。 P.S我使用QtDesigner来构建GUI – Michu93