Jump to content

Nuke Connect Plugin Install - HOW?!?!??!?!


RicardoMusch

Recommended Posts

I'm getting quite fed up with the old or lack of manuals about the setup of ftrack and the connect plugins.

I've got as far as adding some of the Environement variables and finding the ftrack connect plugin folder.

Now when loading Nuke (not from ftrack, our Nuke is based on a networkshare and therefore I guess, not found by the launcher) I get the following errors:

 

Can anybody point me in the right direction?

 

OS: Windows 10 / Server 2012 network / Nuke 10 / Adobe Creative Cloud / Maya / Unreal

 

Capture1.PNG

Capture2.PNG

Capture3.PNG

Link to comment
Share on other sites

1 hour ago, RicardoMusch said:

No, our Nuke is installed on a network share and therefore connect doesn't find it automatically.

It seems that the problem is that the nuke plugin does not have all it's dependencies available on the PYTHONPATH. There are quite a lot of dependencies so it can be a bit tricky to get it right. And I agree with you, this should be easier and covered much better in the documentation.

So I guess there are two ways to do it then:

1. Using connect package: You add a custom launcher as a Connect plugin that can scan and find Nuke on your network share. This has the advantage that you can reference the existing launch hook and utilise the way it makes the dependencies available.

2. Standalone: You make the necessary dependencies available: https://bitbucket.org/ftrack/ftrack-connect-nuke/src/9cec5a77107b3bd6f90274deaa80b3c61bf409bf/setup.py?fileviewer=file-view-default#setup.py-118 . Note that e.g. ftrack-connect has dependencies as well so there are quite a lot.

Link to comment
Share on other sites

4 minutes ago, RicardoMusch said:

So I installed Nuke Locally, it's now in the launcher.

But now it's erroring when interpreting the menu.py.

 

So for clarity: Where does the PYTHONPATH variable need to point to exactly?

Capture2.PNG

Just so that I understand you correctly, you have:

1. Installed nuke locally

2. Downloaded and running Connect package

3. Launching nuke through Connect package

If above is correct you should not have to set the PYTHONPATH or anything. Is that the steps you took and you get this issue? If so I will ask one of the devs to jump in and see if we can debug this.

Quote

Wouldn't it be much better to be able to specify commands available in the launcher via the Ftrack interface Back-end?

It absolutely would, I will make sure we have a feature request ticket to cover this!

Link to comment
Share on other sites

  • 4 months later...

Hi there,

I am having a similar problem while manually installing connector for nuke. I have the following packages and their python dependencies: 

  • ftrack-connect-nuke
  • ftrack-connect-foundry
  • ftrack-connect
  • ftrack-python-api
  • ftrack-api

Everything is stored on the network using REZ to resolve dependencies and create env. I can correctly use ftrack-connect app, and both APIs but I fail to load the asset manager inside nuke

How should I alter NUKE_PATH,  PYTHONPATH and any other env vars to load the plugin corrrectly ?

At the moment I have the following NUKE_PATH:

  • /path/to/my/ftrack_connect_foundry/0.1.0/payload/build/lib/FnAssetAPI
  • /path/to/my/ftrack_connect_foundry/0.1.0/payload/build/lib/ftrack_connect_foundry
  • /path/to/my/ftrack_connect_foundry/0.1.0/payload/build/lib/assetmgr_nuke
  • /path/to/my/ftrack_connect_nuke/0.1.9/payload/build/lib/ftrack_connect_nuke

 

error_nuke.png

Link to comment
Share on other sites

Well I was missing the following value in NUKE_PATH: 

/path/to/my/ftrack_connect_nuke/0.1.9/payload/resource/nuke_path

Now it seems to catch the plugin but fails with the following log:

Nuke 10.0v3, 64 bit, built Jun 27 2016.
Copyright (c) 2016 The Foundry Visionmongers Ltd.  All Rights Reserved.
Traceback (most recent call last):
  File "/.../ftrack_connect_nuke/0.1.9/payload/resource/nuke_path/menu.py", line 5, in <module>
    import ftrack_connect_nuke
  File "/.../ftrack_connect_nuke/0.1.9/payload/build/lib/ftrack_connect_nuke/__init__.py", line 6, in <module>
    import ftrack_connect_nuke.plugin
  File "/.../ftrack_connect_nuke/0.1.9/payload/build/lib/ftrack_connect_nuke/plugin.py", line 4, in <module>
    import ftrack_connect_foundry.plugin
  File "/.../ftrack_connect_foundry/0.1.0/payload/build/lib/ftrack_connect_foundry/plugin.py", line 6, in <module>
    import ftrack_connect_foundry.bridge
  File "/.../ftrack_connect_foundry/0.1.0/payload/build/lib/ftrack_connect_foundry/bridge.py", line 13, in <module>
    import ftrack
  File "/.../ftrack_api/3.3.30/python/ftrack.py", line 20, in <module>
    from FTrackCore import *
  File "/.../ftrack_api/3.3.30/python/FTrackCore.egg/FTrackCore/__init__.py", line 10, in <module>
    
  File "/.../ftrack_api/3.3.30/python/FTrackCore.egg/FTrackCore/api/location/__init__.py", line 3, in <module>
    from .Entity import Entity
  File "/.../ftrack_api/3.3.30/python/FTrackCore.egg/FTrackCore/api/location/base.py", line 19, in <module>
  File "/.../ftrack_api/3.3.30/python/FTrackCore.egg/FTrackCore/api/event/__init__.py", line 5, in <module>
    from .Host import Host
  File "/.../ftrack_api/3.3.30/python/FTrackCore.egg/FTrackCore/api/event/hub.py", line 18, in <module>
  File "/.../requests/2.3.0/requests-2.3.0-py2.6.egg/requests-2.3.0-py2.6.egg/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/.../requests/2.3.0/requests-2.3.0-py2.6.egg/requests-2.3.0-py2.6.egg/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/.../requests/2.3.0/requests-2.3.0-py2.6.egg/requests-2.3.0-py2.6.egg/requests/packages/urllib3/__init__.py", line 16, in <module>
    from .connectionpool import (
  File "/.../requests/2.3.0/requests-2.3.0-py2.6.egg/requests-2.3.0-py2.6.egg/requests/packages/urllib3/connectionpool.py", line 43, in <module>
    from .response import HTTPResponse
  File "/.../requests/2.3.0/requests-2.3.0-py2.6.egg/requests-2.3.0-py2.6.egg/requests/packages/urllib3/response.py", line 18, in <module>
    log = logging.getLogger(__name__)
AttributeError: 'module' object has no attribute 'getLogger'

 

Link to comment
Share on other sites

Hi Jerome,

Here is a shell script that I sometime use for developing the ftrack-connect-nuke plugin. In this setup I'm running nuke from source, but loads the dependencies from the common.zip that is found the Connect package. If you do not want to do that, you can unpack common.zip to see the dependencies that it contains.

# Set path to the ftrack-connect-nuke repository.
export FTRACK_CONNECT_NUKE=/path/to/ftrack-connect-nuke-repository/

# Set nuke plugin path.
export NUKE_PATH=$FTRACK_CONNECT_NUKE/resource/nuke_path

# Set environments variables for foundry asset plugin.
export FOUNDRY_ASSET_PLUGIN_PATH=$FTRACK_CONNECT_NUKE/resource/
export NUKE_USE_FNASSETAPI=1

# Set PYTHONPATH to ftrack-connect-nuke and shared libraries.
export PYTHONPATH=${PYTHONPATH}:$FTRACK_CONNECT_NUKE/source
export PYTHONPATH=${PYTHONPATH}:/path/to/common.zip

# Set task and shot id.
export FTRACK_TASKID="task id"
export FTRACK_SHOTID="id of the parent to the task"

Let me know if this helps!

I'm running on OS X so the path to the common.zip for me is "/Applications/ftrack-connect.app/Contents/MacOS/common.zip" but must be changed according to your OS.

Link to comment
Share on other sites

Hi Mattias,

Very helpful: I was missing the correct value for FOUNDRY_ASSET_PLUGIN_PATH

the packages from bitbucket donnot come with common.zip archive though so I did not have to update the PYTHONPATH.

I now have a proper ftrack_connect / nuke integration working but publishing seems to failed when creating a component to a custom location...

Thanks for your help !

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...