diff --git a/Application/src/grabber/CMakeLists.txt b/Application/src/grabber/CMakeLists.txt
index 00894b873db27c8f773473b78157fe6bbff89056..7b1f0ab20521bdec8e01816cdb4e5508b150bb13 100644
--- a/Application/src/grabber/CMakeLists.txt
+++ b/Application/src/grabber/CMakeLists.txt
@@ -128,6 +128,19 @@ set_target_properties(${TGRABS_EXEC_NAME} PROPERTIES
   MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
 )
 
+if(TREX_CONDA_PACKAGE_INSTALL)
+    set(CONDA_PREFIX_VAR "$ENV{PREFIX}")
+else()
+    set(CONDA_PREFIX_VAR "${PYTHON_EXECUTABLE}")
+endif()
+    
+string(REPLACE "\\" "\\\\" CONDA_PREFIX_VAR "${CONDA_PREFIX_VAR}")
+message(STATUS "Setting TREX_PYTHON_PATH=${CONDA_PREFIX_VAR}")
+
+target_compile_definitions(pvinfo PRIVATE TREX_PYTHON_PATH="${CONDA_PREFIX_VAR}")
+target_compile_definitions(pvconvert PRIVATE TREX_PYTHON_PATH="${CONDA_PREFIX_VAR}")
+target_compile_definitions(${TGRABS_EXEC_NAME} PRIVATE TREX_PYTHON_PATH="${CONDA_PREFIX_VAR}")
+
 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/gfx/GrabberIcon.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
 
 set(RESOURCE_COPY_FILES
@@ -203,6 +216,7 @@ if(APPLE)
     target_link_libraries(tgrabs_starter PRIVATE cpputils)
     set_target_properties(tgrabs_starter PROPERTIES OUTPUT_NAME tgrabs)
     set(targets ${targets} tgrabs_starter)
+    target_compile_definitions(tgrabs_starter PRIVATE TREX_PYTHON_PATH="${CONDA_PREFIX_VAR}")
 endif()
 
 
diff --git a/Application/src/grabber/main.cpp b/Application/src/grabber/main.cpp
index 95b4ce377de475b552c6a2f3b6f823afc4801217..67fd0a5eaacb033706459ef4edfc7bb2427ecaf5 100644
--- a/Application/src/grabber/main.cpp
+++ b/Application/src/grabber/main.cpp
@@ -369,7 +369,7 @@ int main(int argc, char** argv)
             //Debug("change directory to conda environment resource folder: '%S'", &_wd.str());
             
             if(chdir(_wd.c_str()))
-                U_EXCEPTION("Cannot change directory to '%S'", &_wd.str());
+                Except("Cannot change directory to '%S'", &_wd.str());
         }
 #endif
         
diff --git a/Application/src/grabber/pvinfo.cpp b/Application/src/grabber/pvinfo.cpp
index e7a20df91330016c6e8271f93efb7711f186766b..76993250ac1ff3236d7d063a381ed8c2c617a2cb 100644
--- a/Application/src/grabber/pvinfo.cpp
+++ b/Application/src/grabber/pvinfo.cpp
@@ -202,7 +202,7 @@ int main(int argc, char**argv) {
         //Debug("change directory to conda environment resource folder: '%S'", &_wd.str());
         
         if(chdir(_wd.c_str()))
-            U_EXCEPTION("Cannot change directory to '%S'", &_wd.str());
+            Except("Cannot change directory to '%S'", &_wd.str());
     }
 #endif
     
diff --git a/Application/src/grabber/tgrabs.cpp b/Application/src/grabber/tgrabs.cpp
index d9317fc4b69c414c3ca8cfd5b6165288ace62341..ec6c57891812608b14370efcdfa8f12ea6ac462b 100644
--- a/Application/src/grabber/tgrabs.cpp
+++ b/Application/src/grabber/tgrabs.cpp
@@ -11,12 +11,20 @@
 #endif
 
 std::string conda_environment_path(const char* argv) {
+#ifdef TREX_PYTHON_PATH
+    auto compiled_path = file::Path(TREX_PYTHON_PATH).is_regular() ? file::Path(TREX_PYTHON_PATH).remove_filename().str() : file::Path(TREX_PYTHON_PATH).str();
+#else
+    std::string compiled_path = "";
+#endif
+    
 #ifdef TREX_CONDA_PACKAGE_INSTALL
+    return compiled_path;
+#else
     auto conda_prefix = getenv("CONDA_PREFIX");
     std::string envs = "envs";
     envs += OS_SEP;
     
-    std::string home;
+    std::string home = compiled_path;
     if(conda_prefix) {
         // we are inside a conda environment
         home = conda_prefix;
@@ -37,8 +45,6 @@ std::string conda_environment_path(const char* argv) {
         }
     }
     return home;
-#else
-    return "";
 #endif
 }
 
diff --git a/Application/src/tracker/CMakeLists.txt b/Application/src/tracker/CMakeLists.txt
index 741ea9263e63391761689911941c01bf17037502..687df25a834d7b692d9de8bd5e85be7012ff3300 100644
--- a/Application/src/tracker/CMakeLists.txt
+++ b/Application/src/tracker/CMakeLists.txt
@@ -214,6 +214,20 @@ target_link_libraries(trex_starter PRIVATE
     ${EXTRA_LIBS})
 set_target_properties(trex_starter PROPERTIES OUTPUT_NAME trex)
 set(targets ${targets} trex_starter)
+
+if(TREX_CONDA_PACKAGE_INSTALL)
+    set(CONDA_PREFIX_VAR "$ENV{PREFIX}")
+    string(REPLACE "\\" "\\\\" CONDA_PREFIX_VAR "${CONDA_PREFIX_VAR}")
+    target_compile_definitions(trex_starter PRIVATE TREX_PYTHON_PATH="${CONDA_PREFIX_VAR}")
+    message(STATUS "Setting TREX_PYTHON_PATH=${CONDA_PREFIX_VAR}")
+else()
+    message(STATUS "Adding compile definitions: ${PYTHON_EXECUTABLE}")
+    target_compile_definitions(trex_starter PRIVATE
+        TREX_PYTHON_PATH="${PYTHON_EXECUTABLE}"
+    )
+    message(STATUS "Setting TREX_PYTHON_PATH=${PYTHON_EXECUTABLE}")
+endif()
+
 endif()
 
 install(TARGETS ${targets}
diff --git a/Application/src/tracker/main.cpp b/Application/src/tracker/main.cpp
index d64dfc0fa5ff9c0bc920342acb32053bec8cc800..bd68e905667e058ea3e535699466599cc0d0a08b 100644
--- a/Application/src/tracker/main.cpp
+++ b/Application/src/tracker/main.cpp
@@ -283,8 +283,8 @@ int main(int argc, char** argv)
     else
         Error("Cannot change directory to '%S'.", &_wd);
 #elif defined(TREX_CONDA_PACKAGE_INSTALL)
-    char *conda_prefix = getenv("CONDA_PREFIX");
-    if(conda_prefix != nullptr) {
+    auto conda_prefix = ::default_config::conda_environment_path().str();
+    if(!conda_prefix.empty()) {
         file::Path _wd(conda_prefix);
         _wd = _wd / "usr" / "share" / "trex";
         //Debug("change directory to conda environment resource folder: '%S'", &_wd.str());
diff --git a/Application/src/tracker/misc/default_config.cpp b/Application/src/tracker/misc/default_config.cpp
index 822af08a28a0dff22f616dda84d576b96c833eb2..7bd1b8df7f9f533662698c6d111c82b8bb7d41a7 100644
--- a/Application/src/tracker/misc/default_config.cpp
+++ b/Application/src/tracker/misc/default_config.cpp
@@ -100,12 +100,15 @@ namespace default_config {
     };
 
 file::Path conda_environment_path() {
+#ifdef TREX_PYTHON_PATH
+    auto compiled_path = file::Path(TREX_PYTHON_PATH).is_regular() ? file::Path(TREX_PYTHON_PATH).remove_filename().str() : file::Path(TREX_PYTHON_PATH).str();
+#else
+    std::string compiled_path = "";
+#endif
+    
     auto home = SETTING(python_path).value<file::Path>().str();
-    if(home == "CONDA_PREFIX") {
+    if(home != "CONDA_PREFIX" && home != "" && home != compiled_path) {
         auto conda_prefix = getenv("CONDA_PREFIX");
-        if(conda_prefix) {
-            // check if we are inside that environment
-        }
         
         if(conda_prefix) {
             // we are inside a conda environment
@@ -127,7 +130,7 @@ file::Path conda_environment_path() {
             }
         }
     } else
-        home = "";
+        home = compiled_path;
     
     return home;;
 }
diff --git a/Application/src/tracker/trex.cpp b/Application/src/tracker/trex.cpp
index 2cc29cb9815231e15a121219348883a7338e4c27..c8e2e1f9617488cda9f8a9fc67c498792400217d 100644
--- a/Application/src/tracker/trex.cpp
+++ b/Application/src/tracker/trex.cpp
@@ -13,12 +13,20 @@
 #endif
 
 std::string conda_environment_path(const char* argv) {
+#ifdef TREX_PYTHON_PATH
+    auto compiled_path = file::Path(TREX_PYTHON_PATH).is_regular() ? file::Path(TREX_PYTHON_PATH).remove_filename().str() : file::Path(TREX_PYTHON_PATH).str();
+#else
+    std::string compiled_path = "";
+#endif
+    
 #ifdef TREX_CONDA_PACKAGE_INSTALL
+    return compiled_path;
+#else
     auto conda_prefix = getenv("CONDA_PREFIX");
     std::string envs = "envs";
     envs += OS_SEP;
     
-    std::string home;
+    std::string home = compiled_path;
     if(conda_prefix) {
         // we are inside a conda environment
         home = conda_prefix;
@@ -39,8 +47,6 @@ std::string conda_environment_path(const char* argv) {
         }
     }
     return home;
-#else
-    return "";
 #endif
 }
 
diff --git a/conda/meta.yaml b/conda/meta.yaml
index 58ceabc352da9bc38cf602733f514be06640b3e3..eeec5cb558ebe48e83d05616b0d6660b1d8ba4c3 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -4,7 +4,7 @@ package:
   
 source:
     git_url: https://github.com/mooch443/trex.git
-    git_rev: 4b449e1acbee862dfe70bbe4ed84ddfd40bea2b3
+    git_rev: latest
     git_depth: 1
 
 build: