Python cx_冻结链接到/opt/local中的库,而不是它复制的库

Python cx_冻结链接到/opt/local中的库,而不是它复制的库,python,macos,macports,cx-freeze,Python,Macos,Macports,Cx Freeze,我在Macports和MacOS10.10上安装了Python 3.4和cx_freeze 4.3.4,并构建了一个冻结的可执行文件。但是,有两个链接库指向它们在我的Macports安装中的路径(位于/opt/local) 来自otool-L: Load command 7 cmd LC_LOAD_DYLINKER cmdsize 32 name /usr/lib/dyld (offset 12) Load command 8 cmd

我在Macports和MacOS10.10上安装了Python 3.4和cx_freeze 4.3.4,并构建了一个冻结的可执行文件。但是,有两个链接库指向它们在我的Macports安装中的路径(位于
/opt/local

来自otool-L:

Load command 7
          cmd LC_LOAD_DYLINKER
      cmdsize 32
         name /usr/lib/dyld (offset 12)
Load command 8
     cmd LC_UUID
 cmdsize 24
    uuid 2CE48062-D852-3DD1-B4BD-F5A60227CD19
Load command 9
      cmd LC_VERSION_MIN_MACOSX
  cmdsize 16
  version 10.10
      sdk 10.10
Load command 10
      cmd LC_SOURCE_VERSION
  cmdsize 16
  version 0.0
Load command 11
       cmd LC_MAIN
   cmdsize 24
  entryoff 5424
 stacksize 0
Load command 12
          cmd LC_LOAD_DYLIB
      cmdsize 96
         name /opt/local/Library/Frameworks/Python.framework/Versions/3.4/Python (offset 24)
   time stamp 2 Wed Dec 31 19:00:02 1969
      current version 3.4.0
compatibility version 3.4.0
Load command 13
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /opt/local/lib/libintl.8.dylib (offset 24)
   time stamp 2 Wed Dec 31 19:00:02 1969
      current version 10.3.0
compatibility version 10.0.0
Python和libiconv.2.dylib都是与我冻结的应用程序一起复制的,因此从
/opt/local
加载它们会破坏其他系统的可移植性

dyld: Library not loaded:
/opt/local/Library/Frameworks/Python.framework/Versions/3.4/Python 
看起来我不是唯一一个经历过这个问题的人

Pyinstaller不支持python3,py2app不适用于curses控制台应用程序,因此我确实需要它来工作。

请检查,它是一个很好的工具,可以收集mac上可执行文件的依赖项,并通过install\u name工具更改dylibs的路径。下载它,编译它,并通过

dylibbundler-od-b-x./pathto/executable-p@executable\u path/relativepathtoyourexecutable/libs/


github上的自述文件也解释了所有参数。

这是一个很好的解决方法。我更喜欢修正cx_冻结,但我不是那个投票否决你的人。是的,我不知道,只是想帮你:)看起来你自己也有责任。这至少是我对这个问题的解释&结束这个问题的PR:没有提到install\u name\u工具,但是initScript似乎是一个你应该关注的东西。