Программы на C++. Форум разработчиков
Anonymous
Активируйте виртуальную среду Python с C++
Сообщение
Anonymous » 27 фев 2026, 15:15
Можете ли вы объяснить мне, почему активация виртуальной среды Python из командной строки работает нормально, но если я вызываю ту же самую команду bash из C++, виртуальная среда Python не активируется?
Код: Выделить всё
raphy@raphy:~/PyEnvActivationFromCpp$ cmake -B builddir
raphy@raphy:~/PyEnvActivationFromCpp$ cmake --build builddir/
raphy@raphy:~/PyEnvActivationFromCpp$ ./builddir/PyEnvActivationFromCpp
pvecreate_c= python3 -m venv /home/raphy/PyEnvActivationFromCpp/.myve
pveactivate_c = . /home/raphy/PyEnvActivationFromCpp/.myve/bin/activate
raphy@raphy:~/PyEnvActivationFromCpp$ ls -lah
total 24K
drwxrwxr-x 5 raphy raphy 4.0K Feb 27 13:04 .
drwxr-x--- 31 raphy raphy 4.0K Feb 27 13:04 ..
drwxrwxr-x 3 raphy raphy 4.0K Feb 27 13:04 builddir
-rw-rw-r-- 1 raphy raphy 244 Feb 27 12:54 CMakeLists.txt
drwxrwxr-x 5 raphy raphy 4.0K Feb 27 13:04 .myve
raphy@raphy:~/PyEnvActivationFromCpp$ . /home/raphy/PyEnvActivationFromCpp/.myve/bin/activate
(.myve) raphy@raphy:~/PyEnvActivationFromCpp$ deactivate
raphy@raphy:~/PyEnvActivationFromCpp$ nano CMakeLists.txt :
cmake_minimum_required(VERSION 3.15...4.2)
project(PyEnvActivationFromCpp)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(${PROJECT_NAME}
src/main.cpp
)
target_link_libraries (${PROJECT_NAME} PUBLIC
)
drwxrwxr-x 2 raphy raphy 4.0K Feb 27 13:04 src
raphy@raphy:~/PyEnvActivationFromCpp$ nano ./src/main.cpp :
#include
#include
#include
#include
int main()
{
std::string pvecreate = "";
std::string venvcommand = "python3 -m venv ";
pvecreate.append(venvcommand);
std::string currentpath = std::filesystem::current_path();
pvecreate.append(currentpath);
pvecreate.append("/.myve");
const char* pvecreate_c = pvecreate.c_str();
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79897800/activate-python-virtual-environment-from-c[/url]
1772194526
Anonymous
Можете ли вы объяснить мне, почему активация виртуальной среды Python из командной строки работает нормально, но если я вызываю ту же самую команду bash из C++, виртуальная среда Python не активируется? [code] raphy@raphy:~/PyEnvActivationFromCpp$ cmake -B builddir raphy@raphy:~/PyEnvActivationFromCpp$ cmake --build builddir/ raphy@raphy:~/PyEnvActivationFromCpp$ ./builddir/PyEnvActivationFromCpp pvecreate_c= python3 -m venv /home/raphy/PyEnvActivationFromCpp/.myve pveactivate_c = . /home/raphy/PyEnvActivationFromCpp/.myve/bin/activate raphy@raphy:~/PyEnvActivationFromCpp$ ls -lah total 24K drwxrwxr-x 5 raphy raphy 4.0K Feb 27 13:04 . drwxr-x--- 31 raphy raphy 4.0K Feb 27 13:04 .. drwxrwxr-x 3 raphy raphy 4.0K Feb 27 13:04 builddir -rw-rw-r-- 1 raphy raphy 244 Feb 27 12:54 CMakeLists.txt drwxrwxr-x 5 raphy raphy 4.0K Feb 27 13:04 .myve raphy@raphy:~/PyEnvActivationFromCpp$ . /home/raphy/PyEnvActivationFromCpp/.myve/bin/activate (.myve) raphy@raphy:~/PyEnvActivationFromCpp$ deactivate raphy@raphy:~/PyEnvActivationFromCpp$ nano CMakeLists.txt : cmake_minimum_required(VERSION 3.15...4.2) project(PyEnvActivationFromCpp) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(${PROJECT_NAME} src/main.cpp ) target_link_libraries (${PROJECT_NAME} PUBLIC ) drwxrwxr-x 2 raphy raphy 4.0K Feb 27 13:04 src raphy@raphy:~/PyEnvActivationFromCpp$ nano ./src/main.cpp : #include #include #include #include int main() { std::string pvecreate = ""; std::string venvcommand = "python3 -m venv "; pvecreate.append(venvcommand); std::string currentpath = std::filesystem::current_path(); pvecreate.append(currentpath); pvecreate.append("/.myve"); const char* pvecreate_c = pvecreate.c_str(); std::cout Подробнее здесь: [url]https://stackoverflow.com/questions/79897800/activate-python-virtual-environment-from-c[/url]