Jam përpjekur ta paketoj projektin tim me setup.py, por hasa në një pengesë.
Struktura e skedarit tim është si më poshtë:
root/
mypackage/
__init__.py
mysubmodule1/
__init__.py
mysubmodule2/
__init__.py
Unë jam duke përdorur konfigurimin e mëposhtëm në setup.py tim,
from setuptools import setup, find_packages
# To use a consistent encoding
from os import path
import glob
here = path.abspath(path.dirname(__file__))
print(find_packages(exclude=['docs', 'tests*']))
setup(
name='mypackage',
packages=find_packages(exclude=['contrib', 'docs', 'tests*']),
install_requires=[...],
scripts=[...],
)
Unë e ndërtova paketën me python setup.py install brenda një virtualenv, linja e korrigjimit që printova tregoi se find_packages i gjenin të gjitha paketat e mia.
['mypackage', 'mypackage.submodule1', 'mypackage.submodule2']
Kur importoj paketën time, u përpoqa të importoja mypackage.submodule1.class, por kjo shkaktoi një modul që nuk u gjet përjashtim. Kontrollova që të gjitha modulet e mia të jenë në vezën dalëse në paketat e faqeve virtualenv dhe se mund të importoj paketën time rrënjësore.
Prodhimi i dir (mypackage) është si më poshtë:
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mypackage
>>> dir(mypackage)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__']
A po më mungon diçka? Të gjitha projektet me burim të hapur që përmenda ndjekin këtë model. Faleminderit