2016-08-15 94 views
2

我在RedHat的Openshift雲服務上創建了一個python 3.3應用程序。默認情況下,它有我的項目的setup.py。我正在學習Udemy課程,名爲「使用Flask構建SaaS應用程序」(source code)現在我想按照課程的建議使用python單擊。它需要另一個用於cli項目的setup.py;因此要將該文件放在項目根文件夾中,我將其重命名爲setup_cli.py。現在有兩個文件:setup.pysetup_cli.py。 Pip安裝似乎會自動查看setup.py。從特定的setup.py pip安裝

# See Dockerfile in github source 
pip install --editable <from setup_cli.py> 

可以使用pip install --editable指向setup_cli.py嗎?

+3

你爲什麼不簡單地使用'python develop'? – cel

回答

1

看來,你不能做任何事情:-) - 它在PIP源代碼中的硬編碼:-)

如果您嘗試使用pip install -e .,它會調用一個方法命名爲parse_editable這將運行this line

if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): 
    raise InstallationError(
     "Directory %r is not installable. File 'setup.py' not found." % 
     url_no_extras 
    ) 

您可能希望使用此命令pip install -e file:///full/path/to/setup_cli.py,但該命令還附加了一個硬編碼setup.py到您的路徑:-)

setup_pythis行:

setup_py = os.path.join(self.setup_py_dir, 'setup.py') 

從而@cel評論,似乎python <whatever-setup.py> develop是你唯一的選擇。