diff --git a/.scripts/update_readme_paddle_version.py b/.teamcity/update_readme_paddle_version.py similarity index 100% rename from .scripts/update_readme_paddle_version.py rename to .teamcity/update_readme_paddle_version.py diff --git a/parl/remote/compatible_trick.py b/parl/remote/compatible_trick.py new file mode 100644 index 0000000000000000000000000000000000000000..e61ade0c50af1dd51160bfbb149672c55ca20a29 --- /dev/null +++ b/parl/remote/compatible_trick.py @@ -0,0 +1,37 @@ +# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +This file is used to fix the problem that cloudpickle cannot load some packages normally in Mac OS. +We hack the problem by trying load these packages in the main module in advance. + +Template: + +try: + import [PACKAGE1] +except ImportError: + pass + +try: + import [PACKAGE2] +except ImportError: + pass + +""" +from parl.utils import _IS_MAC + +if _IS_MAC: + try: + import rlschool + except ImportError: + pass diff --git a/parl/remote/job.py b/parl/remote/job.py index 00840c088ace82ad22f87d5e8e1433691c2143e4..1313686b2d4d32838768670ab319cef4c4e92fe8 100644 --- a/parl/remote/job.py +++ b/parl/remote/job.py @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Fix cloudpickle compatible problem we known. +import compatible_trick + import os os.environ['CUDA_VISIBLE_DEVICES'] = '' os.environ['XPARL'] = 'True' diff --git a/parl/utils/utils.py b/parl/utils/utils.py index cb95b4d18c2c7aa38b2822a12b2995380609535d..af33f4bca92971a4646ce78a0dd11b10815aceed 100644 --- a/parl/utils/utils.py +++ b/parl/utils/utils.py @@ -16,7 +16,7 @@ import sys __all__ = [ 'has_func', 'action_mapping', 'to_str', 'to_byte', 'is_PY2', 'is_PY3', - 'MAX_INT32', '_HAS_FLUID', '_HAS_TORCH' + 'MAX_INT32', '_HAS_FLUID', '_HAS_TORCH', '_IS_MAC' ] @@ -92,3 +92,5 @@ try: _HAS_TORCH = True except ImportError: _HAS_TORCH = False + +_IS_MAC = (sys.platform == 'darwin')