1. 單文件模塊:直接把文件拷貝到$python_dir/lib 這是類庫目錄(可直接將單文件或單包放在這裏)
2. 多文件模塊,帶setup.py:python setup.py install 卸載時只能手動刪除,一般安裝在系統類庫目錄下
python setup.py install --record files.txt 記錄安裝後文件的路徑 (卸載cat files.txt | xargs rm -rf 刪除這些文件)
3.easy_install 方式
1) 下載ez_setup.py,運行python ez_setup
2) easy_install packageName
easy_install package.egg
easy_install *.egg
4.pip 方式
先進行pip工具的安裝:easy_install pip(pip 可以通過easy_install 安裝,而且也會裝到 Scripts 文件夾下。)
安裝:pip install PackageName
更新:pip install -U PackageName
移除:pip uninstall PackageName
搜索:pip search PackageName
5.自制setup.py安裝包
雖然Python的模塊可以拷貝安裝,但是一般情況下推薦製作一個安裝包,即寫一個setup.py文件來安裝。
setup.py文件的使用:
% python setup.py build #編譯
% python setup.py install #安裝
% python setup.py sdist #製作分發包
% python setup.py bdist_wininst #製作windows下的分發包
% python setup.py bdist_rpm
setup.py文件的編寫:
setup.py中主要執行一個 setup函數,該函數中大部分是描述性東西,最主要的是packages參數,列出所有的package,可以用自帶的find_packages來動態獲取package。所以setup.py文件的編寫實際是很簡單的。
簡單的例子:
(1).假設你要分發一個叫foo的模塊,文件名foo.py
{import sys
def get():
return sys.path
},
那麼setup.py內容如下:
from distutils.core import setup
#from setuptools import setup, find_packages
setup(name='foo',
version='1.0',
py_modules=['foo'],
)
(2).然後,運行python setup.py sdist爲模塊創建一個源碼包
在當前目錄下,會創建dist目錄,裏面有個文件名爲foo-1.0.tar.gz,這個就是可以分發的包(如果使用命令python setup.py bdist_egg,那麼會在dist目錄中生成foo-1.0-py2.7.egg包,setup.py中第一句引入需要改爲from setuptools import setup)。使用者拿到這個包後,解壓,到foo-1.0目錄下執行:python setup.py install,那麼,foo.py就會被拷貝到python類路徑下,可以被導入使用(如果安裝是egg文件,會把egg文件拷貝到dist-packages目錄下)。
安裝包文件:
(1).假設你要分發mypackage包,將包文件放在script目錄下
那麼setup.py內容如下:
from distutils.core import setup
#from setuptools import setup, find_packages
setup(
name='mypackage',
version="1.0",
author="liujin3",
#scripts=["scripts/otpauth.py","scripts/OtpAuthNSF.py"],
packages = ["mypackage",],
package_dir ={ "mypackage": "scripts/mypackage" },
py_modules=['foo',],#包中需要可見的模塊
description='Implements two-step verification of TOTP',
long_description=fread('README.rst'),
license='BSD',
platforms='any',
tests_require=['nose'],
test_suite='nose.collector',
)
(2).然後,運行python setup.py sdist爲模塊創建一個源碼包
在當前目錄下,會創建dist目錄,裏面有個文件名爲mypackage-1.0.tar.gz,這個就是可以分發的包(如果使用命令python setup.py bdist_egg,那麼會在dist目錄中生成foo-1.0-py2.7.egg包,setup.py中第一句引入需要改爲from setuptools import setup)。使用者拿到這個包後,解壓,到mypackage-1.0目錄下執行:python setup.py install,那麼,foo.py就會被拷貝到python類路徑下,可以被導入使用(如果安裝是egg文件,會把egg文件拷貝到dist-packages目錄下)。
具體細節,參考otpauth-1.0.1.tar.gz的模板
python 包安裝沒有這麼複雜,參考
https://www.cnblogs.com/maociping/p/6633948.html