Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Gathering your files in a .pype

    Scheduled Pinned Locked Moved PYTHON Development
    3 Posts 0 Posters 404 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

      On 18/07/2012 at 06:41, xxxxxxxx wrote:

      Hi everyone!

      I have just finished my first Python plugin and am about to hand it out to the public.
      When I started writing it I was closely following this fantastic tutorial on smart-page.net. He suggests a modular approach where every major bit of the code sits in it's own .py file.
      The problem I'm having now, is that when I encrypt my .pyp file into a .pype all the other .py files still remain readable. I was hoping that in the end I'd get a single .pype file that includes all the imports. I know I could compile the .py files to .pyc but I'd like my release of the plugin to be a simple .pype + res folder affair (You know, keep it compact :)).
      Is my only chance to go the extra mile and copy paste all my files into one (plus fixing the sourcecode) or am I missing something?

      Best

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        On 18/07/2012 at 09:57, xxxxxxxx wrote:

        One thing you could do is to bring all your libs into an extra-folder or into a zip-file. For example, you
        could have a folder called "libs" which contains all your compiled python modules.

        my-plugin\
          res\
          libs\
              superduperlib.pyc
          my-plugin.pype

        You would need to insert the full path to the "libs" directory to sys.path. You could also bring all your files from the "libs" folder into a zip archive.

        my-plugin\
          res\
          libs.zip {
              superduperlib.pyc
          }
          my-plugin.pype

        You would need to insert the full path to the zip archive into sys.path. (I.e. ~/plugins/my-plugin/libs.zip )

        IMHO, keeping it modular is fine, but don't write every single class or function into a seperate file.
        There is not reason to do so in Python as there is in C or C++.

        -Nik

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          On 19/07/2012 at 00:13, xxxxxxxx wrote:

          Hi Nik!

          Splitting my code into different modules was mainly for reasons of convenience and overview. This way I have one file for my dialog one where my plugin is defined and one where the actual work is done. This way I didn't have to browse through one big chunk of code when debugging a specific part of the plugin.
          With my current plugin it's not a big deal combining all sources into one by hand, but for larger scale projects this would be quiet a task. I just wish there would be a way to quasi-compile them all into one .pype
          Thanks for your solution with the zip file. That might be an acceptable way to go when combining the files by hand isn't an option anymore.

          In my case I think I'm gonna bite in the sour apple like we say in Germany. 😉

          1 Reply Last reply Reply Quote 0
          • First post
            Last post