假設我有一個包含自定義.py文件的目錄。該目錄被稱爲useful_scripts和一個名爲tested_scripts的子目錄,其中還包含腳本(.py文件)。在Python 3中安裝模塊
我已經看到了一些文章,導入語句,如:
from useful_scripts.tested_scripts import sth
我們怎麼能安裝在這樣的convienient方式我們的自定義目錄模塊,這樣我們就可以像上面訪問它?
假設我有一個包含自定義.py文件的目錄。該目錄被稱爲useful_scripts和一個名爲tested_scripts的子目錄,其中還包含腳本(.py文件)。在Python 3中安裝模塊
我已經看到了一些文章,導入語句,如:
from useful_scripts.tested_scripts import sth
我們怎麼能安裝在這樣的convienient方式我們的自定義目錄模塊,這樣我們就可以像上面訪問它?
如果在目錄中的多個模塊(與Python中的.py文件)和要導入一個模塊在另一個模塊中,然後先定義該目錄爲Python目錄或打包
包是包含多個包和命名空間modules.Each包在Python是一種必須包含一個名爲__init__.py
你的目錄結構,建議立即進行刪除一個特殊的文件目錄d是這樣的,如果你想導入模塊或包裝
現在,您可以導入模塊a.py模塊b.py或模塊b.py模塊a.py
如果您要安裝定製的lib然後創建setup.py其中coustomlib目錄存在
在setup.py
(在coustomlib目錄外或沿coustomlib創建setup.py)文件#!/usr/bin/env python
from distutils.core import setup
from setuptools import setup, find_packages
setup(name='coustomlib',
version='1.0',
description='Python coustom lib ',
author='your name',
author_email='[email protected]',
packages=find_packages(),
)
用於安裝運行
python setup.py install
安裝coustomlib後,您可以將其導入任何模塊
import coustomlib
或者
from coustomlib.module1 import a
更多信息有關setup.py
@Kaliz,爲什麼__init__.py是空的? – mathmaniage
@BeshalJaenal它已經在這裏回答'https://stackoverflow.com/questions/448271/what-is-init-py-for' – Kallz
在文件夾中放置一個'__init __。py' –
製作一個帶有子目錄的目錄useful_scripts tested_scrips在哪裏放置腳本sth.py. 將useful_scripts添加到您的PYTHONPATH中,並將(空)\ _ \ _ init \ _ \ _。py放在useful_scripts和useful_scripts/tested_scripts中。 如果您不想向PYTHONPATH添加任何內容,也可以通過編程方式將sys_spath添加到sys.path中。 –
編寫一個'setup.py'並安裝它? – jonrsharpe