tmux অ্যানাকোন্ডাকে একটি পৃথক পাইথন উত্স ব্যবহার করতে বাধ্য করছে


11

ঠিক আছে, তাই আমি আমার অ্যানাকোন্ডা পরিবেশে আছি এবং আমি কোন অজগরটি চালিয়েছিলাম। আমি পাই

/home/comp/anaconda3/envs/env1/bin/python

এখন যদি আমি টিএমএক্স শুরু করি, তবে সোর্স অ্যাক্টিভেট এনভি 1 চালান, তারপরে কোন পাইথন, আমি পাই

/home/comp/anaconda3/bin/python

যদিও আমার পরিবেশটি সক্রিয় রয়েছে। আমি কীভাবে অ্যানাকোন্ডাকে tmux এর মধ্যে একই পথ দেখতে পারি?

উত্তর:


15

সমাধানটি কনডা পরিবেশটি নিষ্ক্রিয় করা, তারপরে tmux শুরু করা, তারপরে tmux এর মধ্যে পরিবেশটি পুনরায় সক্রিয় করা বলে মনে হচ্ছে।


2
অদ্ভুত সমাধান কিন্তু কাজ করে ...
LYu

এটা সত্যিই অদ্ভুত।
জিরকনকোড

2
আমি উত্সাহ দিচ্ছি কারণ এটিই আমার জন্য কাজ করা সমাধান, তবে এটি সত্যিই আদর্শ সমাধান থেকে অনেক দূরে
জনচেস

2

নিম্নলিখিতটি আমার সাথে টিএমাক্স সেশন শুরু করার পরে ঘটেছিল (কোনও সক্রিয় এনভির সাথে কনডা ছাড়াই)।

আমি যখন প্রথমে টিএমাক্স সেশনের ভিতরে করব:

conda activate myEnv

আমি পাই

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

পরিবর্তে যদি আমি করি:

source deactivate
conda activate myEnv

সবকিছু ঠিকঠাক কাজ করে। which pythonসঠিক পথ নির্দেশ করে।


2

এই আচরণটি টিএমাক্সের ~/.profileপরিবর্তে সর্সিংয়ের কারণে ঘটে ~/.bashrc। আমার ~/.profileএই:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

আপনি দেখতে পারেন যে প্রথম ~/.bashrc sourced হয় এবং তারপর ~/bin এবং ~/.local/binকরা হয় prependedআমি যেমন নিজেকে অভিজ্ঞ হয়েছি , এটি condaহিকআপের কারণ হয়।

সমাধানটি হ'ল PATH এ দুটি কৌশল অবলম্বন করার জন্য মন্তব্য করা ~/.profile

সম্পাদনা (2019/09/24): টিএমউক্সকে এমনভাবে কনফিগার করা আরও ভাল বলে মনে হচ্ছে যে এটি কোনও লগইন শেল নয়, কেবল একটি সাধারণের জন্য তৈরি করে। সংযুক্ত প্রশ্নের উত্তর দেখুন।


1

চলমান:

conda activate env1

পরিবর্তে:

source activate env1

যখন tmux আমার ভিতরে কাজ করত।


1

আমি দেখতে পেয়েছি যে tmux সর্বদা আপনার শেলের জন্য প্রোফাইলটি কল করবে, কেবল আরসি নয়। সুতরাং আপনি যদি আমার মতো ব্যাশ ব্যবহার করেন তবে এটি / ইত্যাদি / প্রোফাইলে কল করবে, এতে পথ_হেল্পারে কল থাকবে।

এটি ঠিক করতে, এতে পরিবর্তন /etc/profileকরুন:

if [[ -z $TMUX ]] && [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

আপনি ব্যাশ ব্যবহার করে থাকেন, তার সাথে সাথে পরিবর্তন export PATH=$PATH:/fooমধ্যে .bashrcথেকে

if [[ -z $TMUX ]]; then
  export PATH=$PATH:/foo
fi

তারপরে আপনি টার্মিনালটি পুনরায় চালু করবেন (উদাহরণস্বরূপ Iterm)। সব কিছু ভাল হওয়া উচিত!


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.