2017-10-16 15 views
2

別のスクリプトで使用するには、jupyterのローカルディレクトリの場所が必要です。たとえば、ときコンソール版画、jupyter開始:デフォルトのローカルJupyterディレクトリを見つける

> Serving notebooks from local directory: C:\Users\PC\Documents 

はどういうわけか、jupyterは私のノートPCが提供されているから、デフォルトのローカルの場所としてこのパスを設定しています。私のジュピター環境の「根源」です。このデフォルト設定を見つけるにはどうすればよいですか?既存のファイルを解析できますか、または入力できるコマンドはありますか?他の試みの中で


、私は次のことを試してみた:

> jupyter notebook --help-all 
--NotebookApp.notebook_dir=<Unicode> 
    Default: '' 
    The directory to use for notebooks and kernels. 

注:私は、configファイルを持っていない、また私は、この情報を取得するためにgenerate a config fileしたくありません。わかりやすくするために、私はchanging the directoryとは関係ありません。

+0

をあなたはどのようにジュピターを始める?パス 'C:\ Users \ PC \ Documents'は定数か、それとも異なるのですか? –

+0

@JacobBudin私はAnacondaのJupyterNotebookリンクを使用してjupyterを起動します。したがって、常に再現可能な開始点です。しかし、 'notebook.notebookapp'を呼び出す' jupyter-notebook-script.py'を実行しているようです。ローカルディレクトリを解析するためのコードがあります。 – pylang

答えて

3
https://stackoverflow.com/a/37690452から、デフォルトの場所はAnacondaフォルダの cwp.pyファイルで設定/導出されているようです。 Windowsでのデフォルトインストールの場合、このスクリプトは(ユーザ名 PC、あなたの質問と同じように) C:\Users\PC\AppData\Local\Continuum\Anaconda3\cwp.pyにあるようです。

github.com/ContinuumIO/menuinstでcwp.pyのソースを見つけると、基本的には現在のWindows User's Documentsフォルダが使用されているようです。

編集:

コメントで要求されるように、私はnotebook/issues/2941#issuecomment-337076059でgithubの問題についての私の記事の主旨の下に再現:


設定や環境変数に別段の定めがない限り、ノートPCサーバ開始時に現在の作業ディレクトリを使用して、ノートブックディレクトリとしてを使用します。ノートブックを起動する前に作業ディレクトリを設定するために、ノートブックを起動するために使用しているAnacondaのショートカットがちょっとした魔法を使っているため、あなたのフォルダはドキュメントフォルダに設定されているようです。あなたの目的のために、あなたはできます

  1. 明示的に設定ファイルにノートブックのディレクトリを設定するか、環境変数
  2. は、(ノートルートが

    os.path.expanduser('~/Documents') 
    

    であると仮定し、これは動作しない場合がありますOS言語が英語以外の場合はを調整する必要があります)

  3. pip/condaパッケージを使用menuinst正確アナコンダのショートカットと同じロジックを複製、フォルダを見つけるために - の線に沿って何か:

    from menuinst.windows.knownfolders import FOLDERID, get_folder_path 
    
    documents_folder, exception = get_folder_path(FOLDERID.Documents) 
    if exception: 
        documents_folder, exception = get_folder_path(FOLDERID.PublicDocuments) 
    if exception: 
        print('bang! exception! do some error handling') 
    else: 
        print(documents_folder) 
    

    (これはおそらく、Windows以外のシステムでは失敗します)

+0

多くのありがとう。この投稿の3番目の提案に感謝します:https://github.com/jupyter/notebook/issues/2941#issuecomment-337076059。このリンクを含めますか?私はこの答えを受け入れてうれしいです。 – pylang

+0

@pylang問題ありません。私は答えを編集しました.githubの問題のリンクと、コンテンツの転写が含まれています。ちょうどSOがGitHub(!)よりも長い場合に備えて、 – jcb91

関連する問題