2013-10-23 3 views
7

現在、システム上にいくつかのパッケージをインストールするように設定するには、そのバージョンと依存関係をsetup.pyのinstall_requires属性に記述します。私たちのシステムはPython 2.7が必要です。時には2.6.xと2.7といったPythonの複数のバージョンを持っていることがありますが、それは既に利用可能ですが、実際には2.6のサイトパッケージリストの下にあるシステム上にあります。また、いくつかのユーザには2.6のみがあり、setup.pyからどのように強制するか、あるいはPython 2.7のみを持つと言うべき他の方法や、setup.pyで更新したいすべてのパッケージは2.7しかありません。コードを実行するにはマシン上で2.7以上が必要です。Pythonバージョンをsetup.pyに適用する

ありがとうございます! pip(及びpip自体はPythonインタプリタにより実行される)を介してsetup.pyファイルがインストールされているよう

Santhosh

答えて

8

setup.pyファイルに使用するPythonのバージョンを指定することは不可能です。

代わりにthis answersetup.py: restrict the allowable version of the python interpreterを見てください。これには、インストールを中止するための基本的な回避策があります。

コードは次のようになり、あなたの場合:

import sys 
if sys.version_info < (2,7): 
    sys.exit('Sorry, Python < 2.7 is not supported') 
+0

version_infoは、2.7+まで名前付きコンポーネントを導入していませんでした。これはタプルだけです。編集を提出しました。 – 2upmedia

+3

なぜ単純に 'sys.version_info <(2,7)'を実行できませんか? Pythonでは、タプルを字句順に比較しているので、 '(3,4,1)'ではうまく動作します。 –

2

(2018年3月でこれを書いているように)現在のベストプラクティスがsetup.pysetup()コールに直接python_requires引数を追加することです:

from setuptools import setup 

[...] 

setup(name="my_package_name", 
     python_requires='>3.5.2', 
     [...] 
関連する問題