Hello Everyone,
Can anyone help figure out how I can fix this error with the tank push_configruation error ?
`Preformatted textPreformatted text
Preformatted text````
File “C:\Users\sreyeeshgarimella\AppData\Roaming\Shotgun\kavaleer\p122c364.basic.desktop\cfg\install\core\python\tank\pipelineconfig.py”, line 108, in init
config_folder = os.path.join(self._pc_root, “config”)
File “C:\Program Files\Shotgun\Python3\lib\ntpath.py”, line 78, in join
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Apparently it's erroring in the pipelineconfig.py file . I would like to use tank push_configruation to push to shotgrid
"""
Encapsulates the pipeline configuration and helps navigate and resolve paths
across storages, configurations etc.
"""
import glob
from tank_vendor import yaml
import tank_vendor.six.moves.cPickle as pickle
from .errors import TankError, TankUnreadableFileError
from .util.version import is_version_older
from . import constants
from .platform.environment import InstalledEnvironment, WritableEnvironment
from .util import shotgun, yaml_cache
from .util import ShotgunPath
from .util import StorageRoots
from .util.pickle import retrieve_env_var_pickled
from . import hook
from . import pipelineconfig_utils
from . import template_includes
from . import LogManager
from .descriptor import Descriptor, create_descriptor, descriptor_uri_to_dict
from tank_vendor import six
log = LogManager.get_logger(__name__)````
class PipelineConfiguration(object):
"""
Represents a pipeline configuration in Tank.
Use the factory methods in pipelineconfig_factory
to construct this object, do not create directly via the constructor.
"""
def __init__(self, pipeline_configuration_path, descriptor=None):
"""
Constructor. Do not call this directly, use the factory methods
in pipelineconfig_factory.
NOTE ABOUT SYMLINKS!
The pipeline_configuration_path is always populated by the paths
that were registered in shotgun, regardless of how the symlink setup
is handled on the OS level.
:param str pipeline_configuration_path: Path to the pipeline configuration on disk.
:param descriptor: Descriptor that was used to create this pipeline configuration.
Defaults to ``None`` for backwards compatibility with Bootstrapper that only
pass down one argument. Also this argument was passed down by cores from
v0.18.72 to 0.18.94. The descriptor is now read from the disk inside
pipeline_configuration.yml.
:type descriptor: :class:`sgtk.descriptor.ConfigDescriptor`
"""
self._pc_root = pipeline_configuration_path
# validate that the current code version matches or is compatible with
# the code that is locally stored in this config!!!!
our_associated_api_version = self.get_associated_core_version()
# and get the version of the API currently in memory
current_api_version = pipelineconfig_utils.get_currently_running_api_version()
if our_associated_api_version not in [
None,
"unknown",
"HEAD",
] and is_version_older(current_api_version, our_associated_api_version):
# currently running API is too old!
current_api_path = os.path.abspath(
os.path.join(os.path.dirname(__file__), "..")
)
```