2016-02-19 42 views
7

我寫了一個依賴於openpyxl的python模塊。我想使用setuptools自動將openpxyl作爲依賴項安裝。 我讀到這樣做的正確方法是包含在setup.py腳本如下:python未安裝setuptools的install_requires中列出的依賴關係

setup(name='methpipe', 
    version=find_version("lala", "__init__.py"), 
    description='Utilities', 
    author='Jonathan T', 
    author_email='[email protected]', 
    url='https://git.com...', 
    packages=find_packages(), 
    install_requires=[ 
     'openpxyl = 2.3.3', 
    ], 
    scripts=["bin/submit_run_full.py"], 
    cmdclass=dict(install=my_install) 
) 

所以我打包我模塊python setup.py sdist,接過* .tar.gz文件,解壓縮它,然後跑了python setup.py install,而且openpyxl沒有安裝!

我在這裏做錯了什麼?

+0

這難道沒有安裝日誌的任何錯誤? – JulienD

+0

我想你想做'openpyxl == 2.3.3' –

回答

1

嘗試在install_requiressetup_requires之間提供依賴關係。

以下是setuptool的文檔在https://pythonhosted.org/setuptools/setuptools.html

setup_requires

一個字符串或字符串指定什麼其他的發行需要存在,以便安裝腳本運行的列表。 在處理其餘的 安裝腳本或命令之前,setuptools將嘗試獲取這些內容(甚至使用EasyInstall將它們下載到 )。如果您使用 distutils擴展作爲構建過程的一部分,則需要此參數;例如, 處理setup()參數的擴展名,並將它們轉換爲EGG-INFO 元數據文件。

(注:setup_requires上市項目將自動 安裝位置安裝腳本正在運行的系統上,如果他們不是本地 已經獲得不是他們是 只需下載到./.eggs目錄。如果你想安裝它們,以及作爲 可在運行安裝腳本時,你應該將它們添加到 install_requires和setup_requires。)