2017-12-23 7 views
1

パッケージ化したいディレクトリ以外のディレクトリからpython setup.py sdistを実行してpythonソース配布を作成したいですか?これを行う方法を見つけることができないようです。 setup.pyMANIFEST.inを動的に生成するスクリプトがあります。これらのファイルを使用してソースのsdistを別のディレクトリに作成するように教えてください。別のディレクトリからpython sdistを作成することはできますか?

私がやっていることは、ユーザーがsetup.pyなどのsdistを作成できるようにするスクリプトを作成することです。「このディレクトリとその下にあるすべてをパッケージする」と言うだけです。だから私は後でクリーンアップすることができるpython tempfile.mkdtempディレクトリ(無関係なファイルパスの中で/tmp/whateverのような)にsetup.pyMANIFEST.in(すべてのファイルを取得するためにrecursive-include *と一緒に)を生成する...しかし、それらをパッケージ化するために使用することはできないディレクトリ。私はソースディレクトリにこれらのファイルを作成したくありません。それ以外の場合は/ -folder DISTが行われているデフォルトの場所を指定する

答えて

0

あなたはcan use setuptools年代、--dist-dir=DIR/-d DIRオプション。つまり、出力ディレクトリが変更されます。

例えば:

python setup.py sdist -d /tmp/whatever 

あなたはdistutils.coreを使用している場合:代わりにあなたがfrom setuptools import setupを使用することができますfrom distutils.core import setupを使用します。ただどこ出力distのファイルを指定し

import sys 
from os import path 
# ... 

# Add other folders to sys.path 
sys.path.append('/tmp/whatever') 
sys.path.append(path.join(path.abspath('..'), 'some', 'folder')) 
+0

を:ソースディレクトリが、私はあなたがsys.pathにディレクトリを追加することができると思うから来て、その後、setup()が自動的にコンテンツファイルを発見する場所を定義するために

右か?私は "これらのsetup.pyファイルとMANIFEST.inファイルをここで使用して、そこのディレクトリxからソースファイルをパッケージ化する"と言うことができる必要があります。 – chacmool

+0

はい、私は_setup.py_の '' setup() ''でファイルを探すために他のフォルダを追加する方法の詳細を答えに更新しました。これはあなたを助けますか? –

+0

ありがとう、私はこれを試し、それが動作するかどうかを見てみましょう!できるときここに更新されます。 – chacmool

関連する問題